位置: 编程技术 - 正文

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

  • 购入国内旅客运输服务
  • 已收货款没发货怎么退款
  • 个人独资企业可以转让股权吗
  • 餐费补贴要交个人所得税吗
  • 物流辅助服务属于什么费用
  • 怎么知道个税是退税还是补税
  • 半成品算原材料吗
  • 房地产经营税金计算公式
  • 实收资本不是资产吗
  • 实收资本未认缴资本还用填写吗
  • 国家高新补助款多久到账
  • 收储土地资金会计核算办法
  • 政府专项补助购置固定资产进项税可以抵扣吗?
  • 无形资产撤资要交税吗
  • 开具的销项发票是否都要入收入科目吗?
  • 物流辅助服务需要办许可证吗
  • 增值税发票查验平台官网网络异常
  • 房地产预缴增值税税率是多少
  • 财务软件利润表没显示
  • 基金公司管理费收入增值税
  • 非主营业务收入记什么
  • 科研费收入如何入账?
  • 使用360安全卫士
  • 公司账户上的钱怎么转到老板账户上
  • 通知单位发放过节补助怎么说
  • 最好卖的游戏机排行榜
  • 如何用php操作mysql
  • 所得税分配表分录怎么写
  • 资产负债表利润表和现金流量表
  • typescripte
  • 基于Java+SpringBoot+vue+element驾校管理系统设计和实现
  • element ui
  • php curl_init
  • 基于python的论文项目有哪些
  • 预缴税款表怎么打印出来
  • 企业有代扣代缴个税义务
  • 软件增值税即征即退文件
  • 通用机打发票还能用吗
  • 企业的生产成本包括哪些
  • 社保费已扣为什么显示欠缴
  • 连锁店总部的组织架构
  • 公司银行账号注销需要什么资料
  • 什么是增值税举个例子
  • python线程间通信的几种方法
  • 补发去年工资会被扣税吗
  • 血液制品增值税税率
  • 企业中间投入
  • 总公司账务处理
  • 以房抵债会计分录怎么做
  • 其他应付款如何清零
  • 未分配利润可以用于企业经营吗
  • 年底盈利但有往年亏损怎么处理
  • 工业用电交税怎么算
  • 其他应收款包括哪些会计科目
  • 总账建账要建全部科目吗
  • 如何建立一个
  • sql ntext数据类型字符替换实现代码
  • centos6.10安装教程
  • mac安装pyenv
  • jucheck.exe
  • 主板设置uefi模式
  • deepin-win
  • centos7怎么配置ip地址和网络
  • switpa.exe - switpa是什么进程
  • 华硕安装win7系统
  • win8.1屏幕键盘
  • win8 更改电脑设置
  • win8跳过开机密码
  • 怎么创建pom.xml
  • js window.open如何带参数
  • php和mysql的结合是目前web开发中的黄金组合
  • python中删除语句
  • android的图片文件保存在工程的哪个文件夹
  • 编写python代码
  • jquery教程实例
  • android布局有哪些,它们的作用分别是?
  • 2023年四川职工医保缴费基数
  • 深圳市地方税务局历任局长
  • 河南三门峡税务社保缴费电话
  • 国税税票在哪里打印
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设