JavaScript和JQuery的鼠标mouse事件冒泡处理
简单的鼠标移动事件:
进入
mouseenter:不冒泡 mouseover:冒泡
不论鼠标指针穿过被选元素或其子元素,都会触发mouseover事件
只有在鼠标指针穿过被选元素时,才会触发mouseenter事件
移出
mouseleave:不冒泡 mouseout:冒泡
不论鼠标指针离开被选元素还是任何子元素,都会触发mouseout事件
只有在鼠标指针离开被选元素时,才会触发mouseleave事件
我们通过一个案例观察下问题:
给一个嵌套的层级绑定mouseout事件,会发现mouseout事件与想象的不一样
<!DOCTYPEhtml><divclass="outoverout"style="width:40%;height:120px;margin:015px;background-color:#D6EDFC;float:left;"data-mce-style="width:40%;height:120px;margin:015px;background-color:#d6edfc;float:left;"><pstyle="border:1pxsolidred"data-mce-style="border:1pxsolidred;">外部子元素</p><divclass="inoverout"style="width:60%;background-color:#FFCC00;margin:10pxauto;"data-mce-style="width:60%;background-color:#ffcc00;margin:10pxauto;"><pstyle="border:1pxsolidred"data-mce-style="border:1pxsolidred;">内部子元素</p><pid="inshow">0</p> </div><pid="outshow">0</p> </div><scripttype="text/javascript">
vari=0; vark=0;
document.querySelectorAll('.out')[0].addEventListener('mouseout',function(e){ document.querySelectorAll("#inshow")[0].textContent=(++i) e.stopPropagation(); },false)
document.querySelectorAll('.in')[0].addEventListener('mouseout',function(){ document.querySelectorAll("#outshow")[0].textContent=(++k) },false)
</script>
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西