事件冒泡简述及应⽤
事件代理或者事件委托的含义等同于事件冒泡。
事件捕获⽅式(描述事件触发时序问题)有三种:
(1)IE从⾥到外(inside→outside)的冒泡型事件。
(2)Netscape4.0从外到⾥(outside→inside)的捕获型事件。
(3)DOM事件流,先从外到⾥,再从⾥到外回到原点(outside→inside→outside)的事件捕获⽅法 
两个应⽤:
1.事件冒泡允许多个操作被集中处理(把事件处理器添加到⼀个⽗级元素上,避免把事件处理器添加到多个⼦级元素上),它还可以让你在对象层的不同级别捕获事件。
<ul id="ul1">
<li>111</li> <li>222</li> <li>333</li> <li>444</li> </ul>
var oUl = ElementById("ul1");
为保证等同于在每个li添加的函数
  var oUl = ElementById("ul1");
  lick = function(ev){
    var ev = ev || window.event;
    var target = ev.target || ev.srcElement;
    LowerCase() == 'li'){
        alert(123);
        alert(target.innerHTML);
blur事件    }
  }
}
这样写优点:1.性能更优,内存占⽤更少,运⾏速度更快;2.在动态再添加⼀个节点时,⽅法同样能作⽤在该节点
2.让不同的对象同时捕获同⼀事件,并调⽤⾃⼰的专属处理程序做⾃⼰的事情
<div id="parent">
  <div id="child" class="child"></div>
</div>
alert("parent事件被触发,"+this.id);
})
alert("child事件被触发,"+this.id) })
运⾏结果:child事件被触发,child
parent事件被触发,parent
补充:
阻⽌事件冒泡:e.stopPropagation()
以下事件不冒泡:blur、focus、load、unload

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。