位置: 编程技术 - 正文

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

  • 递延所得税资产和所得税费用的关系
  • 自然人电子税务局
  • 房产税从价计征如何算
  • 分公司撤销跨区域转固定资产到总公司
  • 资产负债表两边不平衡的原因
  • 保函费用是用来干什么的
  • 无形资产计税依据
  • 如何确定核定征收的应税所得率
  • 商标转让所需要的材料
  • 如何解决私账流水过大的问题?
  • 银行属于个人吗
  • 出口退税和企业所得税
  • 个税由企业承担怎么入账
  • 为什么销售人员佣金计入合同取得成本
  • 非营业活动交增值税吗
  • 没有ca证书怎么办社保
  • 行政事业性收费计入什么科目
  • 自然人转让股权税收筹划
  • 公司出租商铺要交哪些税
  • 一般纳税人交税标准是多少
  • 扣供应商的税点应该包括附加税吗
  • win10指纹传感器在哪里
  • 应交所得税的计算公式excel
  • 抵押质押的含义
  • 小规模纳税人销售自己使用过的汽车
  • arm on windows
  • 交易性金融资产属于什么科目
  • PHP:pcntl_get_last_error()的用法_PCNTL函数
  • 营改增后企业一般纳税人认定标准为
  • 存货跌价准备是负数表示什么
  • 开关电源pcb布线规则
  • 微信小程序开发者工具
  • unix命令大全详解
  • 固定资产改造更新
  • 企业研发支出的最佳占比
  • 02-MyBatis-Plus
  • 货代一般一个柜利润多少
  • 农业发展公司有没有库存商品的
  • 法人可以是办税人员吗
  • 去税务局开增值税专用发票流程
  • 交强险和车船税在哪里买
  • 什么单位需要
  • 投资性房地产转为非投资性房地产
  • 建筑施工中的合格是指
  • 帮别人注册医疗器械法人有风险吗
  • 基本户怎么提现金
  • 收到社会保险基金结算表
  • 库存现金存入银行
  • 百旺红字专用发票怎么开
  • 所得税会计凭证包括哪些
  • 房地产行业的特殊性表现在哪些方面
  • 账务调整会计分录
  • 规范的建账原则是什么
  • 动态sql语句
  • 在sql server中触发器不具有什么类型
  • mysql kill -9
  • mysql获取当前时间
  • mysql数据库崩了怎么恢复
  • 微软软件怎么用
  • mac怎么创建apple id
  • win7如何创建文件夹
  • win10如何删除pin登录密码
  • winxp如何设置文件共享
  • xp怎么改w7
  • apache80端口被占用的解决方法
  • win8系统怎么打开运行
  • linux 有哪些
  • 安卓骰子游戏
  • 如何理解shell
  • 批处理文件是脚本吗
  • cssimage
  • svn服务端启动
  • 清除垃圾的系统
  • 基于javascript的毕业设计
  • 利用python绘图
  • javaweb开发技术有哪些
  • position属性含义
  • 北京 国税局
  • 北京国家税务局网上办税服务厅
  • 西安新公司税务注销流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设