stopPropagation方法

有时候,我们需要取消事件的进一步捕获或冒泡,即停止事件在DOM层次中传播

兼容DOM的浏览器可以通过使用event对象自带的stopPropagation( )方法做到这一点

var link=document.getElementById("myLink");
link.onclick=function(event){
event.stopPropagation(); //DOM0级或DOM2级取消事件的进一步捕获或冒泡的方法
};
而在IE中,则需赋予event.cancelBubble的值为true

link.attachEvent("onclick",function(event){
event.cancelBubble=true; //IE中取消事件的进一步冒泡的方法
});
EventUtil中的stopPropagation( )方法可以统一上述差异

在添加了EventUtil后,可以如下“重点语句”所示取消事件的进一步捕获或冒泡而无需担心差异导致的兼容问题

var link=document.getElementById("myLink");
var handler=function(event){
event=EventUtil.getEvent(event);
EventUtil.stopPropagation(event); //重点语句
};
EventUtil.addHandler(link,"click",handler);

posted @ 2020-11-12 08:10  悠哉de小猫  阅读(610)  评论(0)    收藏  举报