位置: 编程技术 - 正文

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表单序列化详解(推荐)(已经序列化的表单怎么再添加)

  • 进项税额比销项税额多怎么填申报表
  • 个体工商户所得税核定征收2023
  • 增值税应纳税额的计算
  • 季度所得税申报表里的营业收入是什么?
  • 百旺税控盘汇总表怎么看
  • 投标保证金退回规定
  • 收到投资款怎么做账
  • 帮别人买交强险,受益人是我,有影响吗
  • 支票的填写前应检查有哪些内容
  • 物业公司收取电损费合法吗
  • 小规模纳税人销售额
  • 预付房租发票未到分录
  • 股权转让溢价会计处理
  • 网银 密码器
  • 销售库存商品计入什么科目
  • 应收账款入账金额的确定方法
  • 增值税普票跨月怎么冲红
  • 应收款未收到怎么做账
  • 201金8税盘抵扣期限是多久?
  • 自建公司什么意思
  • 股权转让印花税税率是多少
  • 代开票的时候扣了城建税,申报的时候还需要填写吗?
  • 坏账收回的账务处理方法
  • 两处拿工资的缴税问题
  • 增值税收入和所得税收入不一致怎么办
  • macxi
  • win10护眼模式在哪
  • 期间费用包括哪几个科目
  • 往年的营业外收入冲减
  • 政府扶持资金要交所得税吗
  • hpdskflt.sys
  • geeklink 极联科技
  • 账龄分析法计提比例
  • yii2框架从入门到精通pdf
  • thinkphp框架入门
  • winform开发技术有哪些
  • "设计"
  • 表单验证用什么方法实现
  • sensor tester
  • 如何解决php乱码
  • 物业公司的会计科目有哪些
  • 转让不动产为什么能差额
  • 出资比例不等于100%
  • phpcms api
  • 生产车间用电的进项税额可以抵扣吗
  • sql server5120
  • 采购材料单表格
  • 开办费用怎么处理
  • 公司地址的变更需要哪些资料和手续
  • 企业储蓄存款如何做账
  • 如何加强存货管理,提高存货周转率
  • 研发支出费用化支出结转到哪个科目
  • 会计账簿的启用与登记实验报告
  • 账实不符怎么调账
  • ddl dml的区别
  • MySQL中truncate误操作后的数据恢复案例
  • 利用sql函数生成数据
  • 动态sql中返回数组的值
  • win10开始按钮点不动
  • freebsd安装到u盘
  • 操作系统安全配置一般包括哪些内容
  • 怎么彻底删除win11安全中心
  • 半自动化系统
  • 苹果公司joz
  • vim中执行shell命令
  • win7安装cad2022
  • Win10预览版镜像
  • linux系统怎么弄
  • cocoswot
  • 显示网络配置的命令
  • javascript教程完整版
  • jQuery插件开发
  • jquerygrid
  • jquery插件免费下载
  • Javascript Objects详解
  • jquery改变img的src
  • Python通过行和列提取数据
  • 增值税纳税申报表怎么填
  • 增值税借方有余额怎么调整
  • 浅谈企业所得税论文
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设