Javascript 将功能从按钮单击更改为页面加载

Javascript 将功能从按钮单击更改为页面加载,javascript,html,Javascript,Html,是否可以将此代码转换为在页面加载时而不是单击按钮时生成。我试图将事件更改为加载,但它不起作用。我不知道我到底做错了什么 <p><button id="generate">Generate</button></p> <p><code id="output"></code></p> (function() { function IDGenerator() {

是否可以将此代码转换为在页面加载时而不是单击按钮时生成。我试图将事件更改为加载,但它不起作用。我不知道我到底做错了什么

<p><button id="generate">Generate</button></p>
<p><code id="output"></code></p>

(function() {
 function IDGenerator() {
 
     this.length = 8;
     this.timestamp = +new Date;
     
     var _getRandomInt = function( min, max ) {
        return Math.floor( Math.random() * ( max - min + 1 ) ) + min;
     }
     
     this.generate = function() {
         var ts = this.timestamp.toString();
         var parts = ts.split( "" ).reverse();
         var id = "";
         
         for( var i = 0; i < this.length; ++i ) {
            var index = _getRandomInt( 0, parts.length - 1 );
            id += parts[index];  
         }
         
         return id;
     }

     
 }
 
 
document.addEventListener( "DOMContentLoaded", function() {
    var btn = document.querySelector( "#generate" ),
        output = document.querySelector( "#output" );
        
    btn.addEventListener( "click", function() {
        var generator = new IDGenerator();
        output.innerHTML = generator.generate();
        
        }, false);
 });

 })();
生成

(功能(){ 函数IDGenerator(){ 这个长度=8; this.timestamp=+新日期; var\u getRandomInt=函数(最小值,最大值){ 返回Math.floor(Math.random()*(max-min+1))+min; } this.generate=函数(){ var ts=this.timestamp.toString(); var parts=ts.split(“”.reverse(); var id=“”; 对于(变量i=0;i有一个小错误。 只需将文档对象更改为如下所示的窗口

window.addEventListener('DOMContentLoaded', function() {
});

听起来您希望在“DOMContentLoaded”事件中的“click”事件中运行代码,这只是删除包装该代码的click事件侦听器的问题。