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