位置: 编程技术 - 正文

详解javascript事件冒泡

编辑:rootadmin

推荐整理分享详解javascript事件冒泡,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

事件是javascript中的核心内容之一,在对事件的应用中不可避免的要涉及到一个重要的概念,那就是事件冒泡,在介绍事件冒泡之前,先介绍一下另一个重要的概念事件流:一.什么是事件流:文档对象模型(DOM)是一个树形结构,可以形象的用下图表示。

详解javascript事件冒泡

如果一个html元素触发事件,那么这个事件就会在DOM树中的触发节点和根节点之间按照一定的顺序传播,所有经过的节点都会接收到被触发的事件,这个传播过程被称之为事件流。按照事件的传播顺序,可以将其分为两类,一种是事件冒泡,一种是事件捕获,这里就涉及到本章要介绍的主题了:1.事件冒泡:所谓的时间冒泡就是当一个元素触发一个事件,事件会像是水泡一样,从触发元素向它的所有父节点传播,一直到根节点都会接收到此事件,如果父元素中注册了相应的事件处理函数,那么尽管事件在子节点触发的,在父元素上注册的事件处理函数同样会被触发。例如在上面图示中,如果触发a元素的onclick事件,那么它的父元素p、document和widow都会接收到此事件,并且如果在相应的父元素注册有时间处理函数,那么此事件处理函数将会执行,看一段代码实例:

以上代码的目的是,当点击相应的单元格的时候就会弹出对应单元格中的内容。但是在上面的实现中并不是为每一个单元格注册onclick事件处理函数,而是将onclick事件处理函数注册于单元格的父元素table上,当点击单元格的时候会触发onclick事件,事件还会从从事件对象向上传播,而table元素恰好有注册的onclick事件处理函数,这个时候就会执行此处理函数,当然这里会设置到传递事件对象参数的问题。所有的浏览器都支持事件冒泡。二.事件捕获:事件捕获和事件冒泡恰好相反,当点击一个元素的时候,事件传播的方向是从根元素到触发元素,IE浏览器并不支持,为了跨浏览器支持,所以默认情况下一般都是使用冒泡型事件处理模型。2.javascript阻止事件冒泡代码事件冒泡在某些场景非常的有用,但是有时候也是必须要阻止,下面是一段能够兼容所有主流浏览器的阻止事件冒泡的实例代码。代码实例:

以上代码可以阻止事件冒泡,下面对代码做一下简单注释:二、代码注释:

1.function stopBubble(e) {},此函数用来阻止事件冒泡,参数是个事件对象。 2. if(e&&e.stopPropagation){e.stopPropagation();},判断是否支持stopPropagation,如果支持就使用e.stopPropagation()。stopPropagation()函数IE和IE以下浏览器不支持。 3.window.event.cancelBubble=true,当前IE浏览器使用这个可以阻止事件冒泡。

标签: 详解javascript事件冒泡

本文链接地址:https://www.jiuchutong.com/biancheng/383764.html 转载请保留说明!

上一篇:js父页面中使用子页面的方法(js获取父窗口)

下一篇:实例讲解javascript注册事件处理函数(结婚日课实例讲解)

  • 中了单位大奖要缴个税吗?
  • 股东个人财产转让协议
  • 税率如何计算公式
  • 教育培训行业是干什么的
  • 外币账户月末怎么结汇
  • 城镇土地使用税减免税政策
  • 税控服务费怎么记账
  • 其他收益是什么类
  • 企业所得税季度申报时间
  • 顺丰开专票有明细吗
  • 接受劳务是进项还是销项
  • 汇算清缴产生的企业所得税如何做账
  • 应交税费期初数比期末数大
  • 主营业务成本计算公式是什么
  • 赠送电影票的说辞
  • 使用空头支票被银行冻结
  • 进项和销项不符的税务处理
  • 安装固定资产领用原材料
  • 保安服务费可以计入劳务费吗
  • 处置无形资产净收益
  • 小规模纳税人怎么开增值税专用发票
  • 代发保险款收入
  • 持有至到期投资科目被取消了吗
  • 退税收入要不要交所得税?
  • Windows11安装不了空件怎么处理
  • 把快速打开
  • 网购iphone注意什么
  • 广告公司员工
  • 收入记借方
  • navapp.exe - navapp是什么进程文件 作用是什么
  • 谷歌浏览器历史记录插件
  • 分手我不怕
  • 小规模纳税企业在应交增值税明细科目
  • 固定资产置换存货的账务处理
  • chat function
  • 约克大教堂是基督教吗
  • 分公司改为子公司的所得税业务处理?
  • 微信小店的入口在哪里
  • vue路由用法
  • javascript基础类型
  • python datetime把日期转换字符串
  • 汇算清缴的所得税怎么做账
  • 手机开的发票
  • 已经申报过增值税,清卡时显示未申报什么原因
  • 网站的首页文件名是什么
  • 会计怎么实现财务自由
  • 工会其他支出包括哪些
  • 出纳开的收据找不到了怎么办
  • 购进交通运输设备怎么做账
  • 一般纳税人可以开3%的发票吗
  • 个体户营业额超了怎么办
  • 没有收到房租发票
  • 公司因担保产生损失
  • 员工出差报销补贴政策
  • 个人所得税缴纳标准怎么计算
  • 高新企业预缴增值税税率
  • 应收账款应付账款借贷方都表示什么
  • 与其他企业联合投资一个项目要怎么做账务处理?
  • 应交税金减免税科目
  • 现金流量补充表的应付项目是什么
  • SQLserver中cube:多维数据集实例详解
  • mysql事务用法
  • billmoney是什么意思
  • 通过防火墙可以保证窃听到的信息毫无价值
  • ubuntu20.04问题
  • regsvc32.exe - regsvc32是什么进程 有什么用
  • xp系统的文件要用什么才能打开
  • win8禁用网络之后如何开启
  • linux rpm -i
  • jQuery展示表格点击变色、全选、删除
  • shell监控进程
  • pycharm安装教程2020.2
  • dos下如何复制文件
  • jquery 延迟对象
  • js异步实现原理
  • jquery 获取屏幕高度
  • python定制函数
  • 成品油消费税税率包括哪些
  • 清税申报表怎么填写
  • 企业去哪查
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设