為什么不能阻止冒泡和默認行為
//?JavaScript?Document
//這是event.js
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.attachEvent)
{
element.detachEvent('on'+type,handler);
}
else{
element['on'+type]=null;
}
},
//獲取事件對象
getEvent:function(event)
{
return?event?event:window.event;
},
//獲取事件類型
getType:function(event)
{
return?event.type;
},
//獲取事件節點
getElement:function(event)
{
return?event.target.nodeName||event.srcElement;
},
//阻止事件的默認行為
preventDefault:function(event)
{
if(event.preventDefault)//判斷時方法不加括號
{
event.preventDefault();
}
else
{
event.returnValue=false;
}
},
//阻止冒泡
stopPropagation:function(event)
{
if(event.stopPropagation)
{
event.stopPropagation();
}
else
{
event.cancelBubble=true;
}
},
}//這是script.js
//?JavaScript?Document
window.onload=function()
{
var?go=document.getElementById('go');
var?box=document.getElementById('box');
eventUtil.addHandler(box,'click',function()
{
alert('我是盒子box!');
});
eventUtil.addHander(go,'click',function(e)
{e=eventUtil.getEvent(e);
alert(eventUtil.getElement(e));
eventUtil.preventDefault(e);
eventUtil.stopPropagation(e);
});
}
這是HTML<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html?xmlns="http://www.w3.org/1999/xhtml"> <head> <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/> <title>事件處理程序</title> <script?src="event.js"></script> <script?src="script.js"></script> </head> <body> <div?id="box"> <input?type="button"?id="btn"?value="按鈕"?onclick="showMes()"/> <input?type="button"?id="btn2"?value="按鈕2"?/> <input?type="button"?id="btn3"?value="按鈕3"?/> <a?href="HelloWorld.html"?id="go">跳轉</a> </div> </body> </html>
為什么不能阻止冒泡和默認行為??求解
2017-03-25
script.js里的eventUtil.addHander ? ?addHandler少了一個l
2016-12-19
就是不能結束默認行為,還是跳到HelloWorld.html這個界面
2016-12-19
2016-12-19
script引入的js文件和這個html文件是在一個文件夾里??