到底哪兒寫錯(cuò)了,所有瀏覽器都沒有效果了。
<div id="box">
? ? <input type="button" value="按鈕1" id="btn" onclick="showMes()" />
? ? <input type="button" value="按鈕2" id="btn2" onclick="" /><!--DOM的0級(jí)事件處理示例-->
? ? <input type="button" value="按鈕3" id="btn3" onclick="" /><!--DOM的2級(jí)事件處理示例-->
</div>
<script>
function showMes(){
alert("觸發(fā)了點(diǎn)擊事件!");
}
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>
2016-11-16
<div id="box">
? ? <input type="button" value="按鈕3" id="btn3" /><!--DOM的2級(jí)事件處理示例--> ??//不用添加onclick=""
</div>
<script>
function showMes(){
alert("觸發(fā)了點(diǎn)擊事件!");
}
var btn3=document.getElementById('btn3'); ?//你沒獲取btn3
var eventUtil={
//添加句柄
addHandler:function(element,type,handler){
if(element.addEventListener){ ? ? ? ? ? ? ? ? ? ? ? ?//少一邊括號(hào)
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){ ? ? ? ? ???//少一邊括號(hào)
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>
你試下,我代碼沒測(cè)試,看完直接改你的?
2016-11-16
兩個(gè)if后面少了個(gè)),添加句柄最后面的大括號(hào)少個(gè)逗號(hào),就是添加、刪除句柄用逗號(hào)隔開