位置: 编程技术 - 正文

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

  • 企业增值税必须退税吗?
  • 如何查询个人所有贷款记录
  • 成品油红字发票开错了
  • 采购返利怎么生成发票
  • 企业计提长期借款的利息
  • 以公允价值计量且变动计入其他综合
  • 生产企业电费要不要计提?
  • 人力资源外包差额计税税率
  • 借款合同印花税纳税期限
  • 跨地区经营建筑企业预缴增值税可以先开票后预缴吗
  • 专票上少打了开户行账号可以认证吗
  • 筹建期的收入要交企业所得税吗
  • 所得税收入包含哪些
  • 母公司对子公司的控股比例
  • 清算财产分配会计分录
  • 玩穿越火线总是提示机器遇到
  • 上月暂估入账
  • 向非绑定账户转账超限是什么意思
  • 企业季度税如何申报
  • 加工费计入成本怎么计算所得税
  • php判断链表是否有环
  • php zip模块
  • 预售卡怎么做会计分录
  • macos使用方法
  • 王者营地怎么转移到安卓系统
  • 固定资产财产损失的账务处理
  • gwsloader.exe是什么意思
  • windows7增加桌面
  • php追加写入
  • 房产税城镇土地使用税申报期限
  • 如何向企业账户转钱
  • 出资入股是什么意思
  • nodejs hook
  • lvm 命令
  • saas web
  • 机动车销售统一专票
  • 增值税发票已经认证了,但是税票原票没给,会有什么后果
  • 土地增值税扣除率怎样计算
  • 以前年度损益调整是什么意思
  • 增值税发票红字发票未抵扣怎么开
  • 保理属于什么行业分类
  • 收到保险赔款入什么科目
  • SQLServer 2008 Merge语句的OUTPUT功能
  • 进项税大于销项税,不用缴纳增值税
  • 金税四期对增值税专票
  • 小规模开票的税点是多少
  • 日后事项中所得税的处理方法
  • 中标费用入什么科目
  • 经营租赁的房屋计提折旧吗
  • 借分公司的款收据怎么开
  • 融资租赁中承租人的义务
  • 车贷管理费合理吗
  • 年末递延所得税资产的账面余额
  • 企业免征税范围有哪些
  • 会计总账怎么做账
  • 盈余公积必须提折旧吗
  • 会计内帐外帐的区别在哪
  • sql server2019还原数据库
  • sql server2000个人版安装步骤
  • 批量修改 sql
  • 电脑bios找不到硬盘怎么办
  • win8关闭触屏
  • linux仿mac
  • win7系统注册表文件损坏无法开机怎么修复
  • win7弹出cmd窗口瞬间消失
  • 如何去掉windows不是正版
  • Context.getExternalFilesDir()和Context.getExternalCacheDir()方法
  • Unity3D Editor类(Inspector) 编写经验总结
  • android kotlin开发
  • webgl基础教程
  • ubuntu安装选哪个
  • 批处理 /a
  • angular ngshow
  • js调用图片代码
  • 使用二氧化碳灭火器时人应该站在什么位置
  • Python的requests网络编程包使用教程
  • 未缴税税务说明书
  • 安徽营业执照网上怎么申请
  • t+怎么取消记账凭证
  • 云票助手怎么查看开票限额
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设