参见英文答案 > addEventListener calls the function without me even asking it to 4个
当我运行以下脚本时,事件总是在页面加载时触发.我不确定我在这里做错了什么,我创建了元素,在DOM中找到它然后附加一个监听器,但它总是在页面加载时触发事件而不是在单击元素时触发.
<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);
执行此行时,将调用警报并返回undefined.要传递警报代码,您需要将其包装在函数中.
el.addEventListener("click", function() { alert("clicktrack"); }, false);