位置: 编程技术 - 正文

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

  • 佣金和手续费支出 纳税调整
  • 小规模销售收入免税会计分录
  • 发现之前的差旅费补助多报了一天该怎么调整
  • 进项多少就开多少的票吗
  • 高新技术企业职工人数如何确定
  • 公司报销费用发票怎么开
  • 费用和利润的比例
  • 迟延履行利息记什么科目?
  • 顾客退货补差价怎么做账?
  • 仲裁费用计入什么会计科目
  • 以前年度长期股权投资漏记调整
  • 印花税工会经费会计分录
  • 建筑企业如何管理资质证书
  • 商贸公司账务复杂吗
  • 烟酒销售公司要交哪些税
  • 所得税不能税前扣除项目
  • 公积金贷款利息现在是多少
  • 出口退税挂靠业务如何做帐?
  • win10系统没有声卡驱动
  • 未计发放待遇
  • 咨询服务费怎么交税
  • 进程 com surrogate
  • uniapp vuecli
  • fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
  • php两个数组相加结果
  • php提供了________和___________两种复合数据类型
  • express框架使用
  • php框架零基础入门
  • 会计科目结构什么意思
  • php文本统计访问量
  • 负数发票跨月怎么做账
  • vue的路由器
  • linux进程状态有哪些
  • php对接第三方支付
  • yii2框架和fastadmin建商城网站哪个好用
  • 决算清理期和库款报解整理期
  • 金融机构贷款准备金
  • 金税盘证书已冻结怎么解决
  • 织梦网站怎么添加关键词
  • 查财务报表的网站有哪些
  • 百旺金赋服务费不交会怎么样?
  • 收到借款利息收入计入什么科目
  • 淘宝电子发票怎么申请
  • mysql数据查询慢
  • 建筑企业成本核算案例分析
  • 企业按季度交税
  • 什么叫房屋租购同权
  • 工伤在门诊的收据能报销吗
  • 公司只有收入没有支出违法吗
  • 进口产品没有发票怎么入账
  • 货款收不回来了怎么做账
  • 增值税出口退税款缴纳企业所得税吗
  • 困难补助属于兜底政策吗
  • 费用误计入固定资产
  • 转账支票需要知道开户行吗
  • 预计销售收入增长率怎么算
  • 场地租用招标方案怎么写
  • mysql连接是什么协议
  • sql高级语句实例
  • sql server批量导入数据
  • solaris 创建文件
  • ubuntu18.04网络
  • 电脑如何将win10设置为win7
  • 物联网版块股票
  • Android游戏开发读后感
  • cocos2d CC_CALLBACK_0/1/2/3之间的区别
  • Html5+jQuery+CSS制作相册小记录
  • android-ListView(1)-listview概览
  • Jquery uploadify上传插件使用详解
  • putty自动退出
  • jQuery fancybox在ie浏览器下无法显示关闭按钮的解决办法
  • javascript怎么学
  • python文件处理方法
  • js基础教程
  • java多线程编程实战指南
  • 总分机构在同一县城企业所得税需要预交吗
  • 福建省国家税务总局稽查局局长
  • 湖南省国家税务局历任局长
  • 税务局分局局长是什么级别干部
  • 通用机打发票明细怎么导出电子版
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设