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

时间:2010-03-03 18:42:30

标签: javascript javascript-events addeventlistener

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

答案 0 :(得分:30)

el.addEventListener("click", alert("clicktrack"), false);

执行此行时,将调用alert并返回undefined。要传递警报代码,您需要将其包装在函数中。

el.addEventListener("click", function() { alert("clicktrack"); }, false);

答案 1 :(得分:1)

怎么样:

<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>