求大神幫忙看看
<!DOCTYPE html>
<html>
<title>事件流</title>
<meta charset="utf-8"></head>
<body>
<div id="box">
<input type="button" value="按鈕" id="btn" onclick="showMes()">
<input type="button" value="按鈕2" id="btn2">
<input type="button" value="按鈕3" id="btn3">
<input type="button" value="按鈕4" id="btn4">
</div>
<script type="text/javascript">
function showMes(){
alert("Hello World");
}
var btn2=document.getElementById("btn2");
var btn3=document.getElementById("btn3");
btn2.onclick=function(){
alert("這是通過DOM0級添加的事件");
}
btn2.onclick=null;//刪除onclick屬性
/*//DOM 2級事件
//兩個方法addEventListener(),removeEventListener(),
//三個參數①要處理的事件名 ②處理程序的函數 ③布爾值(冒泡false;捕獲true)
btn3.addEventListener("click",showMes,false);//注意:是 click
btn3.addEventListener("click",function(){
alert(this.value)
},false);
btn3.removeEventListener("click",showMes,false);//刪除
//IE 事件處理程序?
//兩個方法attach(),detach()
//兩個相同的參數 ①要處理的事件名 ②處理程序的函數 (IE只支持事件冒泡)
btn4.attach("onclick",showMes);//IE OPERA支持
btn4.dettach("onclick",showMes);*/
//跨瀏覽器的事件處理程序
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>
</body>
</html>
不知道哪里錯了,就是顯示不出來
2016-09-27
知道了,addHandler 與removeHandler之間少了 逗號