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

参见英文答案 > 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);
上一篇:JavaScript回调函数中的变量总是在循环中获得最后一个值?


下一篇:javascript – 使用for循环和传递值的addEventListener