Javascript“addEventListener”事件在页面加载时触发

问题描述:

当我运行以下脚本时,事件始终在页面加载时触发。我不确定我在做什么错,我创建元素,在DOM中找到它,然后附加一个侦听器,但它总是在页面加载时触发事件,而不是在单击元素时触发事件。Javascript“addEventListener”事件在页面加载时触发

<script type="text/javascript" language="javascript"> 
    document.write("<div id=\"myDiv\">I am a div</div>"); 
    el = document.getElementById("myDiv"); 
    el.addEventListener("click", alert("clicktrack"), false); 
</script> 

el.addEventListener("click", alert("clicktrack"), false); 

在执行这条线,在alert将被调用和返回undefined。要传递警报代码,您需要将其包装在一个函数中。

el.addEventListener("click", function() { alert("clicktrack"); }, false); 

如何:

<script type="text/javascript" language="javascript"> 
    document.write("<div id=\"myDiv\">I am a div</div>"); 
    el = document.getElementById("myDiv"); 
    el.addEventListener("click", function() { alert("clicktrack"); }, false); 
</script>