位置: 编程技术 - 正文

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

  • 合伙企业税务筹划点
  • 私车公用如何避税
  • 企业所得税税款可以扣除吗
  • 收到红字进项发票需要认证么
  • 应收账款周转率正常值范围
  • 注销了出口退税怎么办
  • 合并业务的好处
  • 非独立核算的分公司怎么做账
  • 网上公司报税流程图
  • 折让方式
  • 购入汽车
  • 房产税每次申报都要维护吗
  • 开水电发票要增加什么经营项目?
  • 冠名发票申请要求有哪些?
  • 公司筹建期产生的费用如何开票?
  • 广告费发票的税率
  • 风险纳税人怎么查询
  • 个税验证不通过怎么办
  • 杜邦分析法的三个核心是什么
  • 留抵税额怎么入账
  • 酒店购买矿泉水再卖给客人怎么处理
  • 转让长期股权投资怎么算
  • 一般纳税人进货收到普票怎么做账
  • 房地产公司简易计税增值税
  • 汇算清缴工资填哪个数
  • 企业三大期间费用是什么
  • PHP:xml_get_current_line_number()的用法_XML解析器函数
  • thinkphp5开发教程
  • 想要探究的问题
  • 如何在Mac上更改我的Apple ID
  • PHP:curl_multi_select()的用法_cURL函数
  • PHP:time_sleep_until()的用法_misc函数
  • 以公允价值计量是什么意思
  • 高温补贴需要缴纳社会保险费吗
  • yolov教程
  • twig教程
  • php如何调用类
  • 会计期初余额和期末余额计算公式
  • vue过滤器可以异步吗
  • typescript教程推荐
  • named命令
  • discuz去除底部
  • 企业怎么可以合理避税?
  • 往来款的账务处理
  • 高新技术企业福利费扣除比例
  • 微信平台的收入从哪里来
  • 货物不符合质量条款规定
  • 新公司财务需要哪些东西
  • 现金日记账一般采用什么格式
  • 转让不动产与销售不符
  • sqlserver怎么显示结果窗口
  • 汇总记账凭证账务处理
  • 金税四期介绍 王石
  • 公司买卖股票亏损了 要交企业所得税吗
  • 怎么才能不开发票
  • 支付与其他经营活动的现金为负数
  • 股东投入的资金
  • 前几个月的印花税怎么算
  • 委托加工以受托方核定的数量为计税依据
  • 继续教育专项扣除标准是多少
  • u深度pe装机工具使用教程win7
  • 搜狗网络
  • mac截图清晰度设置方法
  • 华硕主板如何刷系统
  • win8无法安装其它软件
  • linux中sed详细用法
  • linux中more命令详解
  • centos屏蔽ip
  • linux安装迅雷
  • 进windows花屏
  • 笔记本等待网络准备好
  • &&在js中
  • node和javascript
  • jquery中什么方法用于模拟光标悬停事件
  • python编程完全入门教程
  • javascript 分号
  • 两种方法解决问题三年级下册
  • s='python is beautiful!'
  • JavaScript的removeChild()函数用法详解
  • 个人所得税优惠政策最新2023年度
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设