位置: 编程技术 - 正文

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

  • 工商名称变更后多久网上可以查到记录
  • 个体工商户税率2023
  • 企业所得税税负率多少合适
  • 消费税的会计分局
  • 进口货物的会计科目
  • 其他综合收益属于当期损益吗
  • 农机合作社项目复核报告
  • 技术使用费所得税怎么算
  • 从合伙企业分回的经营所得 合伙企业 个人所得税
  • 人员工资薪金所得税计算税款
  • 股权转让企业所得税税率
  • 财产租赁合同印花税计税依据含税吗
  • 往来核算在会计哪个科目
  • 跨年的预付账款如何冲销
  • 企业用于在建工程购入的材料
  • 进出口经营权什么意思
  • 工程安装公司是干嘛的
  • 2018年工会经费返还比例
  • 收到公司投入的土地使用权
  • 销售折让怎么处理
  • 一般纳税人增值税及附加税费申报表怎么填
  • 汇算清缴发票可以做费用票吗
  • 1697509246
  • 利息支出的会计科目
  • 盘亏的转销金额
  • 商业汇票付款方通过哪个会计科目核算
  • avgorange是什么文件夹可以删除吗
  • 金针菜的养殖方法和技术
  • PHP:oci_field_precision()的用法_Oracle函数
  • csinsmnt.exe进程的作用介绍 csinsmnt是什么进程
  • 安克雷奇的秃鹰怎么打
  • php 代码生成
  • 用人单位如何缴纳医疗保险
  • php文本操作
  • 心形岛屿叫什么名字
  • html如何导入excel
  • 商品和服务税收分类编码表下载
  • phpcms rce
  • 公司银行开户的费用怎么做账
  • 如何更改电子税务局办税人员
  • 财务报表逾期了两个月有罚款吗
  • 不动产简易征收增值税发票 可以抵扣
  • 关联方计提坏账准备如何规定
  • 销售会计的岗位职责有哪些
  • 跨年租金收入如何入账
  • 撤回或减少投资所得税处理
  • 服装行业营业收入存在的问题与对策
  • 房地产企业扣除土地价款如何申报
  • 会计中预付账款
  • 申请个税退税账号是什么
  • 收款单属于什么科目
  • 做无票收入如何报税
  • 工程没钱也没有工资
  • 预付货款属不属于消费信用
  • 普通发票作废如何操作
  • 其他收益和其他综合收益属于什么科目
  • 高新企业认定条件2022上海
  • win10正式版激活码
  • xp移动系统
  • win102020h2怎么样
  • win10系统应用和浏览器控制出现感叹号
  • win8桌面图片位置
  • android app 源码
  • cmd读取d盘
  • python进行aes解密
  • 如何用jquery
  • 详解 linux mysqldump 导出数据库、数据、表结构
  • 新版unity
  • jquery.multiselect多选下拉框实现代码
  • 举例讲解水生花卉栽培管理
  • shell脚本 -ne 0
  • 使用JQuery中的trim()方法去掉前后空格
  • jquery的设计模式
  • js实现自定义打印
  • jquery操作元素样式
  • python3 split()
  • 低保大数据核查哪些数据
  • 发票税额小数点打印不全能报销吗
  • 经营所得税怎么交
  • 河北省社保证明网上查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设