如何解决click事件重复的问题?

jquery解决点击事件冒泡

首先我们先了解下什么是冒泡?如果不加以解释相信不少人都不太清楚究竟什么是冒泡?
我们可以这样解释:
所谓冒泡就是页面尚可以有多个事件,也可以多个元素响应同一个事件,假设网页上的两个元素是重叠或者嵌套关系,并且都绑定了click事件,那么当我们点击其中一个元素时我们就发现了一个奇怪的现象那就是两个click事件均被触发了。

我们来看下一个示意图:

冒泡示意图
dom关系如下所示:

<div class="mui-scroll" style="margin-top:20px">                                
  <ul class="mui-table-view">
     <li class="mui-table-view-cell">
       <a class='mui-navigate-right'>
          <span>夏守成</span>
         <span style=' float:right; font-size:9px;margin-right: 20px;color: #8f8f94;'>高手</span>
         <button class="mui-btn btn-blue">删除</button>
       </a>
     </li>
 </ul>
</div>

如图所示我们为两个部分均加上点击事件,

//为按钮设置点击事件
$(".mui-scroll").on("click",function(event){
   alert("你点击了整个条目");
})

$(".btn-blue").on("click",function(event){
   alert("你点击了删除按钮");
})

运行效果如下所示:
第一个弹出框
第二个弹出框
我们可以看到两个事件均被触发。

OK!从上面估计大家已经知道了冒泡是什么了?

其实解决冒泡的方法非常的简单,利用jquery我们可以很简单的解决。

//为按钮设置点击事件
$(".mui-scroll").on("click",function(event){
   alert("你点击了整个条目");
   event.stopPropagation();
})

$(".btn-blue").on("click",function(event){
   alert("你点击了删除按钮");
   event.stopPropagation();
})

如上图所示只需在click的函数中加上一个event。使用

event.stopPropagation();就完美了

具体效果自己试试吧。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BruceCheng夏夏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值