位置: 编程技术 - 正文

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

  • 股东利润分配怎么做账
  • 什么是税收滞纳金请举例说明
  • 税负怎么计算
  • 提供维修业务的税率
  • 机械租赁税率是10个点还是9个点
  • 公司油票怎么抵扣
  • 房地产开发企业土地增值税清算
  • 企业注销其他应付款可以转入未分配利润吗
  • 员工出差有补助吗
  • 职工教育经费能结转几年
  • 定期定额纳税申报表应税项应填哪个数
  • 拍卖公司都要交前期费用吗?
  • 票据利息科目怎么设置
  • 预提费用下月要冲回吗
  • 海关免税设备清单
  • 高新企业帐务流程
  • 没有收入要做应交税费的会计分录
  • 工程交税必须在工程地点交吗
  • 已经开具的增值发票
  • 出口不退税怎么做账
  • 税负率的计算公式excel
  • 固定资产什么时候增加
  • 收入不交税怎么处理
  • 企业开增值税普通发票 电子版
  • 生活补贴和节日补贴区别
  • 企业发放贷款怎么做分录
  • 打开软件窗口后如果没有出现属性面板可执行
  • wordpress导入主题教程
  • 一本书装订费多少钱
  • 股份支付如何缴纳个人所得税?
  • 其他业务收入借贷方向
  • 野生动物保护区有哪些
  • 喜马拉雅山脉中最高的山峰是什么
  • uniapp传值
  • 公牛牛角
  • 盈余公积金可以用来扩大公司生产经营
  • php autoload用法
  • 无票收入怎么计算1%税率
  • php显示错误报告方式
  • vue组件强制刷新
  • jsp使用教程
  • 出口会计分录该怎么写
  • 增值税出口税
  • 批量替换多个word文档的同一内容
  • mongodb主备
  • 企业转让商品取得的税收
  • 文化传媒公司介绍
  • 合同补充协议印花税怎么交
  • 一般纳税人增值税可以抵扣吗
  • 研发费用成本化和费用化
  • sqlserver2008数据库可疑
  • sql编程软件哪个好用
  • 已认证未记账
  • 小规模公司用什么成本核算方法
  • 去年未开票收入未申报
  • 固定资产会计核算方法
  • sql server获取字段长度
  • 系统问题怎么处理
  • win7删除搜索历史记录
  • centos ftp上传文件
  • windows7的开机启动项在哪里
  • win7登录账号
  • cocos2d原理
  • 批处理判断一个文件是否存在
  • css透明属性详解怎么写
  • nodejs客户端框架
  • jquery如何实现双向绑定
  • python xml文件转化为excel
  • js过滤filter
  • jquery dom对象
  • shell 非
  • python怎么写多行
  • androidx混淆
  • 水电费加1
  • 广东省税务局电子发票怎么下载
  • 成都税务举报电话多少
  • 纳税申报期过了怎么申报
  • 怎样查税务师事务所信息
  • 地税局多措并举工作总结
  • 智能财税代理实务实训过程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设