超简单讲解JQ冒泡问题

 当JQ代码越写越长的时候,冒泡的问题就会显得突出.所以对JQ冒泡问题的了解是十分必要的.

那么什么是冒泡了,个人简单的理解就是在触发子元素事件的时候父元素的事件也被动触发.

举个简单例子:

例如有一个十分必要的全局mousedown和一个button的click(mousedown先于click触发)

1     document.onmouseup = function (e) {
2      alert("document")
3         }
4   
5     $("#click").on('click', function (event) {
6         alert("button")
7     })
我们只想要触发按钮的点击事件

然而先执行了父元素的mousedown.,就是所谓的冒泡(父元素的事件冒到了上面,)

所以我们就需要 阻止冒泡

 1 document.onmouseup = function (e) {
 2      alert("document")
 3         }
 4   
 5     $("#click").on('click', function (event) {
 6         alert("button")
 7     })
 8     $("#click").on('mouseup', function (event) {
 9         event.stopPropagation();//阻止父元素的冒泡,特别注意,事件必须一致
10     })
只触发了按钮的点击事件

特别注意,阻止冒泡,必须事件一致

另外浏览器的默认行为有时候也会冒上来干扰,阻止浏览器的默认行为event.preventDefault(); 

使用return false会同时具上述两个的阻止功能.

转载于:https://www.cnblogs.com/banluduxing/p/6125279.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值