-2

下面是将事件侦听器添加到我的html中的所有按钮元素的代码。结果 - 没有注册的事件列表,也没有错误。为什么我无法将事件列表分配给按钮?

window.onload = function(){ 
    addEvListeners(); 
    // This function is to assign ELs to buttons in my HTML 
    function addEvListeners(){ 
     var target = document.getElementsByTagName("button"); 
     for (i = 0; i <= target.length - 1; i ++){ 
      target[i].addEventListener("click", function(){model();},false); 
     } 
    } 
    function model(){ 
     return true; // just for placeholder 
    } 
} 
+0

你怎么知道它不起作用?被调用的函数返回true。没有记录。 BTW'我<= target.length - 1'可以替换为'i

+2

不知道什么是“不工作”,但我看到的一件事是,您应该在for循环中删除'i ++'之间的空格。 –

+0

你怎么知道,它所做的只是返回'true'? – adeneo

回答

0
<html> 
    <head> 
     <script> 
      window.onload = function(){ 
       addEvListeners(); 
       // This function is to assign ELs to buttons in my HTML 
       function addEvListeners(){ 
        var target = document.getElementsByTagName("button"); 
        for (i = 0; i <= target.length - 1; i ++){ 
         target[i].addEventListener("click", function(){model();},false); 
        } 
       } 
       function model(){ 
        console.log('yo!'); 
       } 
      } 
     </script> 
    </head> 
    <body> 
     <button>Click Me</button> 
    </body> 
</html> 

这为我工作。我最终在我的控制台中得到了一个哟。 onload可能不存在您的按钮元素吗?

相关问题