JavaScript 取消瀏覽器事件冒泡
來源:程序員人生 發(fā)布時間:2014-04-25 04:42:51 閱讀次數(shù):3172次
再用js為Html元素指定樣式或綁定事件時,由于瀏覽器的事件工作方式為捕捉/冒泡,往往容易將樣式或事件綁定到到目標元素的父元素上,所有如果只希望將樣式或事件綁定到指定目標元素上,就需要取消事件的冒泡行為。
不幸的是IE所采用的停止事件冒泡的方式同其他瀏覽器不同,其他瀏覽器采用的是符合W3C的標準方式,所有在執(zhí)行停止事件冒泡函數(shù)中用判斷瀏覽器,函數(shù)如下:
function stopBubble(e)
{
//如果傳入了對象,那么就是非IE瀏覽器,才用W3C標準方法
if(e||e.stopPropagation)
{
e.stopPropagation();
}
else
{
//才用IE的停止事件冒泡的方法
window.event.CancelBubble=true;
}
}