JavaScript实现事件的中断传播和行为阻止方法示例
发布时间 - 2026-01-10 22:39:32 点击率:次事件传播

MicroSoft的设计是当事件在元素上触发时,该事件将接着在该节点的父节点触发,以此类推,事件一直沿着DOM树向上传播,直到到达顶层对象document元素。这种自底向上的事件传播方式称为“事件冒泡”,也就是事件传播。
如何中断事件的传播?
stopPropagation() w3c取消冒泡
cancleBubble = true IE取消冒泡
取消事件默认效果:
returnValue = false IE 取消事件效果
defaultPrevent() w3c取消事件效果
<div id='aa'> <div id='bb'> <div id ='cc'></div> </div> </div>
#aa{
width: 600px;
height: 600px;
background: gray;
}
#bb{
width: 400px;
height: 400px;
background: green;
}
#cc{
width: 200px;
height: 200px;
background: red;
}
捕捉写法停止传播 从最顶层开始往下
document.getElementById('aa').addEventListener('click',function (ev){alert('aa');ev.stopPropagation();},true);// 结果捕捉到aa 加true 由冒泡变为捕捉 从上到下
document.getElementById('bb').addEventListener('click',function (){alert('bb')},true);
document.getElementById('cc').addEventListener('click',function (){alert('cc')},true);
冒泡写法停止传播 从下往上
document.getElementById('aa').addEventListener('click',function (){alert('aa');});//加true 由冒泡变为捕捉 从上到下
document.getElementById('bb').addEventListener('click',function (){alert('bb')});
document.getElementById('cc').addEventListener('click',
function (ev){
alert('cc');
ev.stopPropagation();
// ev.cancleBubble = true;//IE下 取消冒泡方法
}); //结果是冒出cc 停止传播
}
取消事件效果
returnValue = false //IE 取消事件效果
preventDefault() //w3c取消事件效果
document.getElementsByTagName('a')[0].onclick = function (ev){
alert('点击');
//达到事件结束的效果 但是函数还是往下运行
//
ev.preventDefault();
alert('已经拦截');
}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
# javascript
# 中断
# 事件传播
# 阻止事件
# jquery取消事件冒泡的三种方法(推荐)
# js如何取消事件冒泡
# flex中event.preventDefault()方法取消事件的默认行为
# 关于捕获用户何时点击window.onbeforeunload的取消事件
# Javascript Event(事件)的传播与冒泡
# JavaScript中使用stopPropagation函数停止事件传播例子
# 阻止事件(取消浏览器对事件的默认行为并阻止其传播)
# JS传播事件、取消事件默认行为、阻止事件传播详解
# 往下
# 从上到下
# 以此类推
# 这篇文章
# 冒出
# 往上
# 捉到
# 结果是
# 有疑问
# class
# brush
# pre
# defaultPrevent
# false
# id
# aa
# gt
# xhtml
# lt
# div
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
如何快速生成可下载的建站源码工具?
Java类加载基本过程详细介绍
linux top下的 minerd 木马清除方法
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
如何续费美橙建站之星域名及服务?
Laravel如何升级到最新版本?(升级指南和步骤)
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
WEB开发之注册页面验证码倒计时代码的实现
如何在景安云服务器上绑定域名并配置虚拟主机?
如何在建站主机中优化服务器配置?
php json中文编码为null的解决办法
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
网站制作价目表怎么做,珍爱网婚介费用多少?
如何快速查询域名建站关键信息?
Python图片处理进阶教程_Pillow滤镜与图像增强
如何快速配置高效服务器建站软件?
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
如何彻底卸载建站之星软件?
Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
Python文本处理实践_日志清洗解析【指导】
如何快速搭建安全的FTP站点?
如何在阿里云香港服务器快速搭建网站?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
Laravel中的Facade(门面)到底是什么原理
如何构建满足综合性能需求的优质建站方案?
浅谈javascript alert和confirm的美化
高性能网站服务器配置指南:安全稳定与高效建站核心方案
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】
js实现点击每个li节点,都弹出其文本值及修改
详解jQuery中的事件
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
php打包exe后无法访问网络共享_共享权限设置方法【教程】
如何快速生成高效建站系统源代码?
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
Laravel如何使用Collections进行数据处理?(实用方法示例)
Laravel如何创建自定义中间件?(Middleware代码示例)
如何在阿里云虚拟服务器快速搭建网站?
Android实现代码画虚线边框背景效果
JS中对数组元素进行增删改移的方法总结
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
教你用AI将一段旋律扩展成一首完整的曲子
javascript中闭包概念与用法深入理解
深入理解Android中的xmlns:tools属性
Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言

