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>