<div id="box">
<input type="button" value="按钮1" id="btn" onclick="showMes()" />
<input type="button" value="按钮2" id="btn2" onclick="" /><!--DOM的0级事件处理示例-->
<input type="button" value="按钮3" id="btn3" onclick="" /><!--DOM的2级事件处理示例-->
</div>
<script>
function showMes(){
alert("触发了点击事件!");
}
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(btn3,"click",showMes);
</script>
<div id="box">
<input type="button" value="按钮3" id="btn3" /><!--DOM的2级事件处理示例--> //不用添加onclick=""
</div>
<script>
function showMes(){
alert("触发了点击事件!");
}
var btn3=document.getElementById('btn3'); //你没获取btn3
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(btn3,"click",showMes);
eventUtil.removeHandler(btn3,"click",showMes);
}
</script>
你试下,我代码没测试,看完直接改你的
两个if后面少了个),添加句柄最后面的大括号少个逗号,就是添加、删除句柄用逗号隔开