位置: 编程技术 - 正文

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

  • 制造企业都需要什么人才
  • 个人去税务局开普票,税率几个点
  • 帮忙劳务派遣
  • 基本存款账户可以换银行吗?
  • 公司注销后持股要交税吗
  • 出差补贴要不要发票
  • 出售其他债权投资
  • 新成立的公司残保金如何申报
  • 员工福利费可以公账出吗
  • 税控设备抵减增值税会计处理
  • 30人以上的企业有哪些
  • 计划成本法会计分录例题
  • 债券投资的风险主要有
  • 公司购买服装
  • 固定资产处理怎么记账
  • 银行的期初数据怎么进行账务处理?
  • 无票收入应附什么单据
  • 加了一年的油
  • 购货方申请红字发票怎么申报
  • 健身房属于什么经营类别
  • 工地伙食标准 费用
  • 房地产企业预售收入作为业务招待费
  • 一个网页账号在多个电脑登录
  • 白内障手术费用大概几天出院
  • linux系统中的文件访问权限包括几种
  • 现在windows11
  • 苹果11 关机方法
  • 2021新旧会计准则
  • 业务招待费应计入期间费用的哪项费用
  • 记帐凭证由谁填制
  • 在php中,什么函数能将数组转化为字符串
  • 销售固定资产利润率
  • 公允价值的利弊
  • PHP:gmstrftime()的用法_Date Time函数
  • 小企业会计准则适用于哪些企业
  • 软件和信息技术服务业发展趋势
  • react+go
  • 大数据投资发展有限公司
  • apt-key is deprecated
  • 最好用的电脑强力卸载软件
  • PostgreSQL教程(二):模式Schema详解
  • mysql优化总结
  • 节能控制模块
  • 装修店面装修费的会计分录
  • 发票没拿回来可以报销吗
  • sqlserver阻止保存要求重新
  • mysql数据库函数
  • sql查询使用临时表
  • 出口企业消费税怎么算
  • 收到退回的文化事业建设费会计分录
  • 外贸出口企业的收入交增值税吗
  • 小规模购进商品怎么做账
  • 存在弃置费用的固定资产有哪些
  • 结转费用后利润怎么算
  • 小规模纳税人转一般纳税人当月如何申报
  • 实收资本调账怎么调
  • 资产负债表与利润表的勾稽关系公式
  • 培训费发票是否可以抵扣
  • 销售折让的会计分录
  • 公司无形资产可以作为公司注册资金吗
  • Linux下卸载MySQL数据库
  • innodb 结构
  • win8支持固态硬盘吗
  • ubuntu12.04.5安装教程
  • linux用户管理器在哪
  • mmc.exe是什么
  • linux page buffer cache深入理解
  • css怎么画图
  • 很好的无光照模式叫什么
  • CloudEditText
  • Using Django with GAE Python 后台抓取多个网站的页面全文
  • 深入理解新发展理念
  • javascript的含义和作用
  • js方法不执行
  • 2020年军人自主择业条件
  • 南京税务举报
  • 资源税原矿和选矿的区别
  • 免税收入要不要交水利基金?
  • 请领导审核怎么说
  • 包装种类代码表集装箱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设