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

IT技术 javascript javascript-events addeventlistener
2021-01-29 00:55:22

当我运行以下脚本时,事件总是在页面加载时触发。我不确定我在这里做错了什么,我创建了元素,在 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>
2个回答
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>