位置: 编程技术 - 正文

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

  • 关于个人取得的成果
  • 房地产按揭是什么意思
  • 金税四期上线后如何查虚开
  • 企业的所得税
  • 单位参加社保必须全员全额申报吗
  • 银行的记账凭证怎么做
  • 纳税申报表真伪验证
  • 水利建设专项收入的计税依据是什么?
  • 汇算清缴后发生销售退回会计分录
  • 食堂收入支出结构图
  • 建筑行业预算
  • 个体工商户库存商品入账
  • 土地增值税暂行条例实施细则2022
  • 报税需要带营业执照吗
  • 新金融工具准则投资收益
  • 每年空调的维保费用怎么入账?
  • 一般纳税人申报哪些税种
  • win10运行红色警戒2卡顿
  • 拨号的用户名
  • win11耳机插电脑没声音怎么办
  • 美金收入 如何交税
  • 筹建期的开办费需要归集后才能一次性扣除吗
  • 物权请求权如何行使
  • mac截图如何保存到照片
  • 做胃镜多少钱了
  • 建筑业开具发票
  • qqlogin.exe是什么进程 qqlogin.exe应用程序错误解决办法
  • Win10 21H1 Build 19043.1200(KB5005101)预览版更新了哪些内容(附更新日志)
  • 增值税发票销货清单哪里领
  • 提取的坏账准备使用完后如何处理
  • ui.exe啥意思
  • 教案的近义词是什么
  • php imagecopymerge
  • 企业的民间借贷怎么处理
  • react by
  • 工会福利如何做账
  • 利息支出属于成本项目吗
  • 对于异步电动机国家标准规定3kw
  • 视听结合的景物描写
  • php中input的用法
  • 本月的进项票可以抵扣上月税款吗?
  • python中numpy数组和列表的区别
  • 基于个人同意处理个人信息的个人什么撤回其同意
  • 外贸出口退税进项发票有多家供应商怎么匹配
  • 马踏棋盘游戏规则
  • 消耗品属于哪个会计科目
  • 盈余公积提取后需要结转吗
  • 个税申报怎样作废
  • 进项大于销项的会计分录怎么做?
  • 信用减值损失如何列报
  • 公司买口罩
  • 母子公司之间无偿划转固定资产
  • 承包经营所得个人所得税计算举例
  • 当月没有凭证还能报税吗
  • 开出银行汇票支付货款
  • 投资子公司现金流量表
  • 以原材料投入资本
  • vrvarp.exe是什么
  • xp 跳过 chkdsk
  • linux如何使用
  • centos5.5加固
  • 一键ghostcgi
  • win10 mobile下载
  • win7 分区表
  • 防止 避免
  • win8如何查看所有程序
  • linux中qq怎么添加快捷键启动功能?
  • jquery的用处
  • nodejs搭建web服务器
  • 用dos杀毒的一个软件
  • json基本语法
  • unity 2021.2
  • jquery自定义方法
  • android图片压缩库
  • 国际税务局邮箱是多少
  • 广西电子税务局怎么报税
  • 税务申报系统如何改成密码登录
  • 江西发票税率
  • 定额发票作废了还能报销吗
  • 纳税服务理念2023
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设