位置: 编程技术 - 正文

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

  • 已抵扣的进项税额怎么转出
  • 个体工商户工商年报资金数额填啥
  • 发票超过三个月不能开
  • 第一季度利润表简易
  • 销售货物和服务流程 事前检查单上
  • 没有社保可以缴费吗
  • 车辆审验费的会计分录
  • 天猫费率是什么
  • 在建工程待摊支出例题
  • 广告费可以预提吗
  • 下列应税项目中,不按次计算征收个人所得税的是
  • 收入费用类科目结转至本年利润
  • 固定资产之前没提折旧,数额交大
  • 电视机在开票中属于哪一类
  • 企业与个人租赁合同范本
  • 广告公司可以开服务费吗
  • 把公司的钱借给别人责任
  • 发票丢失可以抵扣吗
  • 企业汇算清缴弥补以前年度亏损后还需退税
  • 发票认证后还要做什么
  • 小规模税率还是1%吗
  • 汇回投资方的现值怎么算
  • vc_runtimeMinimum_x64.msi 找不到的解决方法
  • 即征即退的增值税需要缴纳企业所得税吗
  • win7步骤和详细教程
  • 库存股属于什么项目
  • 应收账款需要计提坏账准备吗
  • 营业利润,利润总额的计算公式是
  • wordpress用什么语言开发
  • 汽车消费税有发票吗
  • 吃鸡显卡推荐配置1060 5g
  • 为什么要把收入当成舞弊假定
  • 长期借款科目核算方法
  • 向境外支付技术提成费需要提交什么材料
  • 房产契税滞纳金如何减免
  • php操作字符串
  • php定义一个二维数组
  • Yii2中hasOne、hasMany及多对多关联查询的用法详解
  • dac模型
  • 电子商业汇票线下清算流程
  • 融资租赁租金计算公式有残值
  • 吸收合并的目的是什么
  • 结转生产成本是负数怎么办
  • 员工出差的费用计入什么科目
  • js let与var区别
  • 提供营业执照范本图片
  • dedecms配置
  • 劳动保护的各项支出列入工资总额的范围吗
  • 清税证明怎么在网上申请
  • 存货盘亏毁损处理方法
  • 已申报的财务报表可以修改吗
  • 工业企业土地使用税
  • 单位租的个人房子需要采集房产税源吗
  • 上年计提费用多了,要怎样调
  • 把上级机关来文转给下级机关的通知
  • 外资企业取得合法地位
  • 赠送客户样品记什么费用
  • 简易征收计算企业所得税怎么算
  • 旅行社代订机票发票报销
  • 某酒店住宿费用定价分析
  • mysql安装包和免安装的区别
  • win10 mobile 预览10240
  • 使用linux常用命令
  • centos8安装rpm包
  • WinCinemaMgr.exe - WinCinemaMgr是什么进程
  • 新款apple macbook air
  • win10自带绘画
  • tensorflow for
  • parentElement,srcElement的使用小结
  • mysql如何将查询结果输出到文件
  • css中显示
  • 怎么把两个文件中的内容合并
  • Unity的Attribute(特性)还算多吧
  • webpack配置文件在哪
  • Android调用jni获取mac地址
  • android 启动器 设置
  • 法制建设包括哪三个方面
  • 如何认真贯彻落实中央八项规定,切实改进工作作风
  • 农民专业合作社章程完整版
  • 国网福建电力微信公众
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设