事件监听器在jsFiddle中工作但在页面上不起作用

时间:2013-02-02 13:29:19

标签: javascript

  

可能重复:
  Why does jQuery or a DOM method such as `getElementById` not find the element?

此事件侦听器适用于jsFiddle,但不是在我从PHP页面调用它时。

function addDice() {  
 var add = document.getElementById("add");  
alert("test");      
}  

var el = document.getElementById("add");   
el.addEventListener("click", addDice, false);  

   <li id="add">CAll ADD</li>

我的索引页面中的脚本位于<Script>标记之间,如果我在onclick="addDice"标记中添加了<li>,而不是eventListener

2 个答案:

答案 0 :(得分:3)

试试这个:

window.onload = function () {
    function addDice() {  
        var add = document.getElementById("add");  
        alert("test");      
    }  
    var el = document.getElementById("add");   
    el.addEventListener("click", addDice, false);
}

答案 1 :(得分:2)

你的代码在#add之前运行那是不行的你可以像这样解决它

window.onload=function(){
         var el = document.getElementById("add");   
         el.addEventListener("click", addDice, false);
}

或通过JQuery

jQuery(document).ready(function() {
         var el = document.getElementById("add");   
         el.addEventListener("click", addDice, false);

}) ;