位置: 编程技术 - 正文

详解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%的增值税专用发票可以抵扣吗
  • 注册资本变更增加意味着什么
  • 金税三期个人所得税扣缴系统手机版
  • 企业所得税清算期间
  • 纳税人状态怎么填写
  • 专用发票过期了还能冲红发票吗
  • 现代服务促销服务费的经营范围
  • 出纳人员发现假章怎么办
  • 有限合伙人的投资风险有哪些
  • 超市收代金券如何处理
  • 怎么快速关闭电脑屏幕快捷键
  • 合并报表六大抵消分录通俗理解
  • php查找文件目录下文件
  • win11有什么升级
  • win11电脑屏幕倒过来了怎么办
  • 吊兰怎么养才能开花
  • 计提固定资产折旧怎么做会计科目
  • 资产减值的会计政策
  • 白兰花的养殖方法和注意事项和病虫害
  • phpstorm运行php
  • 纳税调整项目有一个其他调增金额是怎么组成的
  • 什么叫存续分立
  • 借款利息还能再算利息吗
  • 成品油发票当月冲红
  • 预收账款和应收账款的账务处理
  • 关于php文件的自动播放
  • 原生js实现promise.all
  • 微信php开发包
  • php.ini中date.timezone设置详解
  • 旅行社差额征税政策
  • 代垫运杂费计入原材料成本吗
  • ajax json请求
  • mysql字符集详解
  • 电子商业汇票是指
  • 教育类财务工作内容
  • access 200
  • 个人所得税红利所得税率
  • 处理废旧材料会计分录
  • 国际结算手续费收入增值税
  • 收政府的慰问金合法吗
  • 其他应付款能否直接做实收资本的账务处理
  • 事业单位公务卡额度多少
  • 公司基本账户有银行卡吗
  • 资金账簿减半征收印花税
  • 劳务派遣中谁给劳动者发工资
  • sql语句的高级用法
  • 数据库mysql索引
  • 将SP2整合进Office 2007的安装包中的方法
  • 破解ssh端口
  • freebsd 安装
  • 永恒之塔客户端是32位
  • python sed
  • 怎样加快电脑开机速度
  • linux中退出
  • js中cookie
  • 编写python
  • unity鼠标控制物体移动
  • 对xmlHttp对象的理解
  • 一起学下载软件
  • jquery入口
  • android混淆后怎么破解
  • 山东中信银行电话
  • 深圳献血奖励标准
  • 青霉素过敏是因为提纯不好吗
  • 广东省地税电子税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设