位置: 编程技术 - 正文

详解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注册事件处理函数(结婚日课实例讲解)

  • 没有购销合同可以开票吗
  • 发票在系统里作用大吗
  • 一般风险准备是留存收益吗
  • 什么是进项加计扣除
  • 酒店维修费计入什么费用
  • 进项抵扣税率是多少
  • 公司与公司之间的欠款怎么要
  • 增值税起征点的规定只适用于
  • 结转应收票据是什么意思
  • 未支付的货款属于什么会计科目
  • 销售产品产生的运杂费分录
  • 销售出库发票会计分录怎么做?
  • 怎么根据进销存做账
  • 销售给客户红包,说给的现金,如何把控
  • 进项税认证怎么做分录
  • 出售设备账务处理
  • 退休人员是否还继续享受社保
  • 个体户进货需要发票吗?
  • 享受小微企业所得税优惠条件2022
  • 购买使用过的固定资产如何计提折旧
  • 购买债券投资的交易费用
  • 合同资产和工程存货的区别
  • 高新企业入库是什么意思
  • 收到货款未发货可以开发票吗
  • qq助手有什么用处
  • 公司股权转让会议决议
  • 民间借贷以工资抵押的案例
  • 房地产企业所得税预提成本10%
  • 路由器增强型
  • 野生动物huan
  • 进出口企业税务怎可以查出问题
  • 转让企业要交什么税
  • vue.js in action
  • 前端开发工程师是干嘛的
  • php设计模式六大原则
  • ftp命令行
  • 代垫运费增值税计入销项税额吗
  • 享受小微企业免征增值税政策
  • 母公司可以免子女税吗
  • dedecms仿站如何做
  • 驱动开发:内核是什么
  • 织梦图片要放哪里
  • 个人所得税专项附加扣除2023
  • 所得税汇算清缴账务处理
  • 小微企业的资产负债率一般为多少
  • d级企业预缴增值税如何申报
  • 股份有限公司个人股份
  • 金税盘抵扣税款分录怎么做
  • 计提的管理费用要结转吗
  • 我国消费现状分析
  • 一般纳税人福利费
  • 银行代发的工资公司要求返还然后发一半
  • 增值税直接减免额怎么做账
  • 违约金从货款中扣除如何记账
  • 收客户利息怎么处理
  • 专票遗失没有认证能用吗
  • 贴现汇票到期收回时
  • 什么是增资扩股协议
  • 捐赠支出表怎么填
  • 什么是格式良好的xml文档
  • adsl用户之间共享电话线路
  • squid ssh
  • linux操作系统百度百科
  • win10病毒与防护
  • win7如何开机修复系统
  • win8.1设置在哪
  • WIN10系统安装.net报错0x80072f8F
  • [置顶]bilinovel
  • intellij idea2021安装教程
  • nodejs web3
  • Android 开源项目集合
  • linux查看多线程
  • react jss
  • 浅析科学发展观的核心立场
  • unity 几种触发事件
  • 彩票中500万自己能得多少
  • 重庆市国家税务局电子税务局官网
  • 销售旧货如何开票
  • 开票系统ukey抄报税
  • 城市维护建设税减半征收政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设