JavaScript“addEventListener”事件在页面加载时触发[重复]
问题:
为什么以下脚本会导致事件在页面加载时触发,而不是在单击元素时触发?
document.write("<div id=\"myDiv\">I am a div</div>"); el = document.getElementById("myDiv"); el.addEventListener("click", alert("clicktrack"), false);
答案:
问题在于语法事件监听器注册。该行:
el.addEventListener("click", alert("clicktrack"), false);
立即执行警报函数并将其未定义的返回值作为事件处理程序传递。要正确地将警报代码作为函数传递,应将其包装在函数中:
el.addEventListener("click", function() { alert("clicktrack"); }, false);
这样,警报只会在单击元素时调用,而不是在页面加载时调用。
以上是为什么我的'addEventListener”在页面加载时触发,而不是在单击时触发?的详细内容。更多信息请关注PHP中文网其他相关文章!