JS中阻止事件冒泡的办法

本文介绍了JavaScript中如何使用stopPropagation()方法阻止事件冒泡。该方法用于在事件传播过程中终止事件,防止事件继续向其他Document节点传播。在事件处理程序中调用此方法可以阻止事件继续在DOM树中向下传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本案例使用的是layui的面板元素

 

    <div class="layui-colla-item">
    			<h2 class="layui-colla-title" >
   				<button class="layui-btn layui-btn-xs" >发布</button>
    			</h2>
    			<div class="layui-colla-content layui-show">
				<a href='www.baiducom' target="_blank">百度</a>		     
	    		</div>
		  </div>
$(".layui-btn-xs").on('click',function(e){
			e.stopPropagation();
			layer.confirm('确定要发布?',{title: "系统提示",anim: 1,icon: 3,closeBtn: 0},function(index){
				layer.msg("发布成功",{icon: 6, anim: 5});
			});	
			
		});


如上:点击<div class="layui-colla-item"> 时会进行面板的折叠和展开 当点击 <botton/>按钮时触发自身的点击事件以后,还会冒泡继续触发 面板的点击事件.可以通过e.stopPropagetion();方法阻止事件冒泡

stopPropagation() 方法

定义和用法

不再派发事件。

终止事件在传播过程的捕获、目标处理或起泡阶段进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点。

语法

event.stopPropagation()

说明

该方法将停止事件的传播,阻止它被分派到其他 Document 节点。在事件传播的任何阶段都可以调用它。注意,虽然该方法不能阻止同一个 Document 节点上的其他事件句柄被调用,但是它可以阻止把事件分派到其他节点。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值