笔记-[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;
    }
};

 

posted @ 2014-06-19 21:24  宇宙第一小菜鸟  阅读(131)  评论(0编辑  收藏  举报