<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>handler</title>
<script type="text/javascript">
function showWord(){
alert("hello world!")
}
var mybtn=document.getElementsByClassName('btn')[0];
var eventUtil={
addHandler:function(element,type,handler){
if (element.addEventListener) {
element.addEventListener(type,handler,false);
} else if (element.attachEvent) {
element.attachEvent('on'+type,handler);
} else{
element['on'+type]=handler;
}
}
}
eventUtil.addHandler(mybtn,'click',showWord())
</script>
</head>
<body>
<input type="button" value="try" />
</body>
</html>改为 eventUtil.addHandler(mybtn,'click',showWord) 就OK了!
如果直接写showWord()就是直接调用,而showWord是在事件触发一后系统帮你调用的。所以应该写showWord
因为你的警告框写在最上面,浏览器还没获取到你的html代码,就开始解析你的js部分了