位置: 编程技术 - 正文

详解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个月没到账
  • 仓储企业的成本有哪些
  • 申报过的印花税怎么删除
  • 房地产企业用电计入什么科目
  • 付给其他公司的服务费怎么记账
  • 股票投资收益需要缴纳增值税吗
  • 固定资产和在建工程占所有者权益的占比
  • 融资租赁租金及利息计算
  • 预交增值税扣税绑不了三方
  • 企业支付短期借款利息1000元
  • 电商平台收取的运输费记收入吗
  • 车船使用税计缴标准
  • 临时取得收入开具发票
  • 红魔3和一加7pro哪个好
  • 组成计税价格用来算什么
  • Linux系统中矢量图ai格式怎么打开?
  • 文件被占用无法删除
  • 发票认证了但是没收到票怎么处理
  • php解析url参数
  • uml中的顺序图由什么组成
  • 审稿意见范例
  • 增值税留抵税额可以结转下一年吗
  • VUE-CLI/VUE-ROUTER
  • 如何取消axios请求
  • speedtest教程
  • 所有者权益变动表怎么填 实例
  • 企业研发费用会计处理英文文献
  • 什么是稳岗补贴是给企业发放吗
  • 要求供应商赔偿说明函范本
  • mongodb启动
  • 固定资产怎么确认价值
  • 基本户和一般户的往来分录
  • 库存现金月末是怎么样结账的
  • 小规模纳税人适用什么会计准则
  • 现金流量明细分类
  • 固定资产支付的保险费计入成本吗
  • 当月费用次月报销
  • 公司收到个人转账收入
  • 发票本月没有认证能用吗
  • 医保卡收到钱
  • 个人挂靠公司承接工程如何做会计处理?
  • 公司增资怎么处理
  • 专票多少钱
  • 盈余公积金计算方法
  • 企业净资产怎么填
  • 自助回单打印和网银回单
  • 会计账簿的更换和保管有哪些要求
  • sql server数据导入导出的特点
  • mysql 一键安装
  • mysql免安装版怎么启动
  • mysql min
  • win7旗舰版无法安装net4.0
  • xp系统没有声音没有音频设备
  • 如何更改win7
  • windows更新驱动程序需要多久
  • windows远程登录命令
  • win1020h2版好不好
  • windows xp快捷键设置在哪
  • win8怎么关闭管理员用户
  • win8分屏功能怎么用
  • windows7怎么打开注册表
  • android app开发中五种常用布局的运用场合
  • jQuery中的select操作详解
  • nodejs搭建个人博客网站
  • node服务器部署
  • recyclebinh
  • 安卓开发例子
  • JavaScript的Cookies
  • jquery的gt
  • 增值税红字发票怎么做账
  • 甘肃国家税务局兰州专用章图片
  • 上海个人到税务局怎么开票
  • 北京环球影城服装
  • 福建网上税务局app
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设