位置: 编程技术 - 正文

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

  • 小规模拍卖公司佣金怎么交税
  • 投资性房地产公允价值变动
  • 股权转让的相关文件有哪些
  • 公司用的口罩放哪个科目
  • 增值税减免税申报明细表举例
  • 个人申请代开发票流程怎么操作
  • 企业应收票据贴现给银行所获得的现金计入现金流量表
  • 耗材如何入账
  • 职工福利费食堂买菜小票可以报销吗
  • 如何加强存货管理内部控制
  • 海关进口增值税如何入账
  • 第三方汽车贷款平台有哪些
  • 费用分摊怎么算
  • 无形资产土地的入账价值包括哪些
  • 董事会费汇算清缴计入什么科目
  • 子公司和母公司可以一起投标吗
  • 酒店水电费分录
  • 劳务派遣个税怎么扣
  • 购买税控设备,享受何种优惠政策
  • 合同成本对应科目
  • scanregistry.exe - scanregistry是什么进程 有什么用
  • 冲销货款的会计分录
  • 汽车销售公司购买车辆会计科目
  • SwiftBTN.exe - SwiftBTN是什么进程 有啥作用
  • win11系统摄像头黑屏
  • win10系统如何设置开机启动软件
  • 苹果mac os 10.4
  • php数组函数题目
  • 特许经营企业广告语
  • 公司福利放置零食文案
  • 公司为员工缴纳社保的基数怎么确定
  • 记载资金的账簿印花税的税率是多少
  • 应付债券的会计分录有哪些
  • 贷记卡怎么还利息
  • 海运发票模板
  • laravel怎么用
  • php面向对象编程实验总结
  • 销项税的分录怎么做
  • 长期借款账务处理会计分录怎么写
  • vue.$el
  • Vite4+Pinia2+vue-router4+ElmentPlus搭建Vue3项目(组件、图标等按需引入)[保姆级]
  • php curl 封装
  • fdisk cfdisk
  • 上一年的运费发票怎么开
  • 长期待摊费用当月发生当月要摊吗
  • 发票未报销可以退税吗
  • python中@是什么意思
  • 在建工程应交税金怎么算
  • sqlserver2005属于
  • 收据不能入账如何处理
  • 营业净利率和总资产周转率正相关
  • 哪些免征土地使用税
  • 劳务总价包干
  • 给离退休人员发放以前年度在岗奖金需要计提工会经费吗
  • 专用发票和普通发票 报销
  • 安全生产费会计核算办法
  • 进项税额转出有什么好处
  • 失业人员的养老金
  • 事业单位之间
  • 购入商品货款尚未支付
  • 管家婆销售赠品是不是自动结转成本?
  • 公益捐赠仪式流程
  • 制造费用月末需要结转吗
  • 简单介绍清明上河图
  • kvm虚拟机是什么
  • vmware虚拟机怎么卸载不了
  • 如何解决cpu超频问题
  • iconindex什么意思
  • cocos2dx视频教程
  • Begin OpenGL with Python-1st Day,draw a simple sample.
  • centos搭建php
  • 怎样在手机上查询社保缴费情况
  • javascript面向对象编程指南
  • jquery 插件写法
  • 浅析2种JavaScript继承方式
  • jquery实现图片横向移动
  • python中for循环写法
  • 国家税务总局是正部级还是副部级
  • 收购烟叶支付的价外补贴怎么处理
  • 安徽省纪检监察官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设