位置: 编程技术 - 正文

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

  • 国税地税合并是成功的还是失败的
  • 非税收入一般缴款书一式几联
  • 贴现利息应计入什么费用
  • 个税返还需要缴纳所得税吗
  • 公司卖车怎么开公司发票
  • 盈亏平衡点产量越高,项目风险越大
  • 单位缴纳的社保在哪里查询
  • 溢价发行债券的发行价格怎么计算的
  • 多缴了附加税现金怎么办
  • 增值税专用发票和普通发票的区别
  • 预交增值税后如何处理
  • 固定资产折旧转入什么科目
  • 建筑公司如何结算成本
  • 公司可以对公司罚款吗
  • mac安装软件提示身份不明
  • 应收账款怎么做分录
  • 技术开发免征增值税怎么开票
  • 预付款,尾款
  • win7系统我的电脑图标不见了
  • win10wifi老是自动断开怎么回事
  • 文件夹正在使用,操作无法完成
  • 盈余 盈利
  • win 11怎么安装
  • PHP简单实现HTTP和HTTPS跨域共享session解决办法
  • phpifelse
  • 财务运作规律
  • 法定盈余公积金达到注册资本的多少时不再提取
  • sass转化为css
  • thinkphp设置伪静态
  • 实际借款成本率
  • 在vue中如果computed属性是一个异步操作怎么办?
  • 进项发票过期了怎么办
  • ajax调用php接口
  • php pdo连接mysql
  • 数字图像处理-应用篇
  • 多表联动查询
  • php微信公众号开发反回图片怎么弄的学校
  • 增值税改动
  • 个人所得税生产经营所得B表
  • 发票内容类型怎么填
  • Python解释器有哪些种类
  • Sqlite 常用函数 推荐
  • 增值税专用发票上注明的价款含税吗
  • 不含税单价和不含税合价的区别
  • mysql语句性能优化
  • 自产货物用于抵偿债务
  • 出售无形资产净损益
  • 人力资源劳务外包需要什么资质证书
  • 六税一费减免
  • 银行代发工资当天改工资卡来得及吗
  • 流动资金周转次数计算公式
  • 亏损企业研发费用加计扣除还会退税吗
  • 费用误计入固定资产
  • 社会保险费结算表怎么打印
  • 回收材料的好处和问题
  • 一般纳税人进货的会计分录怎么做
  • 加工企业三种商业模式
  • win8任务管理器在哪
  • ubuntu 无线wifi
  • win7笔记本电脑怎么重装系统教程
  • 怎么给网络设置防火墙
  • win8系统怎么直接进入桌面
  • windows有两个
  • win8系统怎么设置
  • linux安装php7.3
  • win10mobile最新版本
  • win7系统删除ie浏览器
  • 适者生存作文800字议论文
  • opengl示例
  • bootstrap 网格
  • 用vue做项目加入购物车是怎么做到的
  • jquery简单例子
  • 机票的抵扣率是多少
  • 成都市地方税务局 组织税收收入 2010
  • 房产税从价计征税率
  • 安康市税务局党玲玲
  • 全国征兵网官网报名
  • 一般纳税人企业所得税5%还是25%
  • 重庆职高学校推荐
  • 国税申报时间2023
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设