位置: 编程技术 - 正文

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

  • 企业所得税汇算清缴时间
  • 火车票全额抵减增值税可以吗
  • 增值税有留底怎么减少留底
  • 员工个人承担的保险分录
  • 发放遗属补助还要拍照片吗山东
  • 无形资产可以一次性摊销吗?
  • 建筑 设计 招聘
  • 应交税费怎么做分录
  • 从小规模取得3%农产品进项税额抵扣
  • 工业企业电费出售会计分录怎么写?
  • 银行承兑到期之前怎么兑现
  • 已经发出的商品怎么修改
  • 事业单位经营结余为负数的原因
  • 代收代付如何进行账务处理?
  • 哪些发票可以进账认证
  • 部队收礼怎么处罚
  • 蔬菜营销方案案例范文
  • 技术开发费税收优惠政策
  • 集团内部拆借资金
  • 报税提示您可能缺少相关组件怎么处理
  • 电商刷单手续费做什么费用?
  • 电商平台名称怎么注册
  • 凭证出现错误如何解决
  • 应收账款的坏账处理方式有哪几种
  • 员工收到货款不交公司,法律规定
  • 跟a签订合同可以撤销吗
  • 超市购物卡返点一般是几个点
  • php支付接口开发
  • 联想笔记本在bios中怎么把图标和字变大
  • wordpress更改字体
  • 归还银行借款摘要模板
  • 损失赔偿金要开什么发票
  • 税收筹划的税种
  • 技术服务转包涉税处理
  • thinkphp3.2.3
  • 微信php源码
  • 微软 gcr
  • 使用vue要安装什么软件
  • linux命令bzip2
  • discuz隐藏查看
  • mongodb数据库的作用
  • 哪些费用计入管理费用
  • 委外加工如何管理
  • 专项储备计提和使用理解
  • 清算期间发生的利息支出应计入
  • 小规模纳税人免税政策2023年
  • 土地转移是什么意思
  • 多缴的印花税怎么抵下次税费
  • 生产线更新改造替换的旧设备
  • 付款申请单如何转填记账凭证
  • 增值税专用发票怎么开
  • 现金短缺无法查明计入什么科目
  • 收到微信公众号反诈骗风险提示
  • 去年的招待费做什么科目
  • 弥补亏损后怎么做账
  • 什么是加计扣除农产品进项税额
  • ubuntu20.04
  • win8.1怎么升级到win11
  • winxp设置在哪
  • ubuntu系统怎么进入命令行
  • mac连不上无线网络
  • centos8查看进程
  • kdeskcore.exe是什么
  • shell 时间格式
  • win8外接显示器没反应怎么办
  • dos 批处理
  • jquery移除
  • linux 常用命令大全及其详解
  • 自动关机的
  • jquery动态添加的元素怎么添加事件
  • js匿名类
  • 安卓怎样从旧手机把联系人导入新手机
  • 四川省税务局发票查询
  • 南通税务网站
  • 云南地方税务局电话
  • 税务税收预测
  • 辽宁省疫情期间工资发放标准
  • 新土地管理法37条解释
  • 河北新农合怎么查询
  • 代建单位资质要求
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设