<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var btn1=document.getElementById("btn1");
// var box=document.getElementById("box");
// function showBox(){
// alert("box");
// }
function showBtn(event){
alert(event.type);
}
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;
}
},
removeHandler:function(element,type,handler){
if (element.removeEventListener){
element.removeEventListener(type,handler,false);
} else if(element.detachEvent){
element.detachEvent('on'+type,handler);
}else{
element['on'+type]=null;
}
}
}
eventUtil.addHandler(btn1,'click',showBtn);
// eventUtil.addHandler(box,'click',showBox);
</script>
</head>
<body >
<!--<div id="box">-->
<input type="button" value="button" id="btn1"/>
<!--</div>-->
</body>
</html>
把script放在body最后 ,你放在开头domready没有完成不会执行当然你也可以用window.onload 或者jqeury的ready来完成。具体原因可以看慕课DOM探索之基础详解篇。html文件里的东西从上往下从左往右解析读到哪解析到哪,放在前面先执行了script里的但是下面的dom树还没生成找不到btn所以就会没有反应
需要用window.onload = function(){}把script代码包起来