DOMContentLoaded with addEventListener

时间:2014-01-21 16:56:51

标签: javascript html

我想知道为什么我不能在DOMContentLoaded函数中添加事件监听器,我的问题是他在加载之前触发了点击,然后在之后没有做任何事情:

HTML

<body>
This is a test.<br>
</body>

JS     // DOMContentLoaded ...

var btn=document.createElement("BUTTON");
var t=document.createTextNode("CLICK ME");
btn.appendChild(t);
document.body.appendChild(btn);

btn.addEventListener('click',alert('HELLO!'),false);

我做了一个小提琴: http://jsfiddle.net/hH5Lh/

我必须使用DOMContentLoaded,因为在我的代码中我有XMLHTTP请求,只能在我的html加载后触发...

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

这是因为您需要将函数指定为事件回调。 alert('HELLO!')调用 alert函数并将其返回值(undefined)作为事件回调传递。

你想这样做:

btn.addEventListener('click', function(){
    alert('HELLO!');
}, false);
相关问题