笔记-[5]-关于JS事件流!

一般的事件流中有两种:一是事件捕获 二是事件冒泡
事件冒泡的理解:何谓冒泡,当水开的时候,水珠不断地向上冒的过程。在JS中同样如此。在DOM中是一种树型的结构。
如:window
         document
                 html
                     body
                         span
例如span标签绑定了一个onclick事件.在没有阻止冒泡事件的时候,当span发生onclick事件时,body,html,document,window同样会触发onclick事件(前提是这个几个祖先标签绑定了onlick事件),否则是看不出效果。

事件捕获很少用到。

 阻止事件冒泡方法:
    在非IE下的方法是stopPropagation();
    在IE下的方法中:cancelBubble属性;当cancelBubbl=true的时候为阻止冒泡事件.
 解决兼容的方法是:
obj.onclick=function(ev){
    e=ev || window.event;
    e.stopPropagation?e.stopPropagation():e.cancelBubble=true;
    或者
    if(e.stopPropagation){
        e.stopPropagation()
    }else{
        e.cancelBubble=true;
    }
};

 

笔记-[5]-关于JS事件流!,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。