位置: 编程技术 - 正文

JS传播事件、取消事件默认行为、阻止事件传播详解(事件传播路径)

编辑:rootadmin

推荐整理分享JS传播事件、取消事件默认行为、阻止事件传播详解(事件传播路径),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:事件传播路径,js中事件传播的三个阶段,事件传播路径,js方法传递对象,js事件传参,js中事件传播的三个阶段,js事件传播过程,js中事件传播的三个阶段,内容如对您有帮助,希望把文章链接给更多的朋友!

1.事件处理程序的返回值

通常情况下,返回值false就是告诉浏览器不要执行这个事件相关的默认操作。例如,表单提交按钮的onclick事件处理程序能通过返回false阻止浏览器提交表单,再如a标签的onclick事件处理程序通过返回false阻止跳转href页面。类似地,如果用户输入不合适的字符,输入域上的onkeypress事件处理程序能通过返回false来过滤键盘输入。 事件处理程序的返回值只对通过属性注册的处理程序才有意义。

2.调用顺序

文档元素或其他对象可以为指定事件类型注册多个事件处理程序。当适当的事件发生时,浏览器必须按照如下规则调用所有的事件处理程序:

JS传播事件、取消事件默认行为、阻止事件传播详解(事件传播路径)

通过设置对象属性或HTML属性注册的处理程序一直优先调用。使用addEventListener()注册的处理程序按照它们的注册顺序调用。使用attachEvent()注册的处理程序可能按照任何顺序调用,所以代码不应该依赖于调用顺序

3.事件传播

  在调用在目标元素上注册的事件处理函数后,大部分事件会“冒泡”到DOM树根。调用目标的父元素的事件处理程序,然后调用在目标的祖父元素上注册的事件处理程序。这会一直到Document对象,最后到达Window对象。

  发生在文档元素上的大部分事件都会冒泡,值得注意的例外是focus、blur和scroll事件。文档元素的load事件会冒泡,但它会在Document对象上停止冒泡而不会传播到Window对象。只有当整个文档都加载完毕时才会触发Window对象的load事件。

4.取消事件默认行为、阻止事件传播

在支持addEventListener()的浏览器中,可以通过调用事件对象的preventDefault()方法取消事件的默认操作。IE9之前的IE中,可以通过设置事件对象的returnValue属性为false达到同样的效果。下面一段代码是结合三种技术取消事件:

取消事件相关的默认操作只是事件取消中的一种,我们也能取消事件传播。在支持addEventListener()的浏览器中,可以调用事件对象的stopPropagation()方法以阻止事件的继续传播。如果在同一对象上定义了其他处理程序,剩下的处理程序将依旧被调用,但调用stopPropagation()之后任何其他对象上的事件处理程序将不会被调用。

IE9之前的IE不支持stopPropagation()方法,而是设置事件对象cancelBubble属性为true来实现阻止事件进一步传播。

好了

标签: 事件传播路径

本文链接地址:https://www.jiuchutong.com/biancheng/377537.html 转载请保留说明!

上一篇:带你了解session和cookie作用原理区别和用法(带你了解处女座)

下一篇:form表单序列化详解(推荐)(已经序列化的表单怎么再添加)

  • 注册资本印花税怎么交?什么时候交?
  • 代付的费用收不收手续费
  • 质量体系证费用计入什么科目
  • 个体户一季度不超过30
  • 一个营业执照可以开几家淘宝店
  • 10万以内免交的增值税怎么做帐
  • 月末在产品的原材料定额费用计算公式
  • 上级工会返还的经费记什么收入
  • 个体工商户需要每个月报税吗
  • 善意取得增值税专用发票如何处理
  • 年末转出未交增值税的视频
  • 集团子公司之间调拨固定资产
  • 购进货物未取得增值税专用发票
  • 购进固定资产抵扣时咋填报增值税
  • 金税盘和报税盘图片
  • 茶具可以作为固定资产吗
  • 购买的装修样品怎么入账
  • 资金清算款项
  • 店面转让出去收到的钱如何做账?
  • 发票校验码后六位在哪个位置图片
  • 水电费发票可以开吗
  • 工商注册需要提供什么
  • 小规模纳税人一个月能开多少税票
  • 两地取得工资个税怎么交
  • 企业车间承包合同的法律效力
  • php readdir函数
  • 完美解决索尼电视arc无声音
  • 新西兰萨摩亚人
  • vuecli websocket
  • 股东分红企业代扣个税
  • 交易性金融资产属于流动资产
  • phpexcel导入
  • 产品补发原来的要退吗
  • 个人所得税银行卡未实名认证是什么意思
  • 企业员工福利包括哪些内容
  • 电子承兑逾期超过30天怎么办
  • 应纳税所得额计入什么科目
  • sql server自动生成行号
  • 增值税一般纳税人是什么意思
  • 必要报酬率和期望报酬率谁大更好
  • 税控服务费如何入账
  • 资产负债表日后非调整事项应当在附注中披露
  • 模具成本核算汇总表
  • 跨年度的银行未入账如何处理
  • 发票勾选认证的时间限制是多久
  • 原始凭证和记账凭证的填制
  • 上个月成本算少了怎么办
  • 退回的银行手续费做什么科目
  • 支票上的金额和确定的金额
  • sql server多行添加
  • 数据库崩了怎么恢复
  • sqlserver 修改列类型
  • SQL中实现SPLIT函数几种方法总结(必看篇)
  • MYSQL数据库原理及应用
  • 新装mysql设置密码
  • win101909激活
  • amd furyx
  • freebsd怎么样
  • 回收站清空文件怎么恢复?试试这三个方法找回!
  • windows地图导航
  • linux用户权限管理
  • shell中awk命令
  • win10远程桌面连接教程
  • win10开机显示recover
  • PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解
  • nodejs和mysql
  • bat批处理脚本教程
  • 写出perl中最常见4种控制流
  • 项目总结之触摸问题分析
  • 在线linux模拟环境
  • python利用数据文件统计成绩
  • 讯飞src
  • emacs win10
  • 深入理解javascript特性.pdf
  • document对象常用方法
  • 如何分析源码
  • 如何在Android上使用cv库
  • js中slice方法的作用
  • 全国增值税务查询官网
  • 国家税务总局吕梁市税务局官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设