PHP网站事件流,详解DOM事件流的三个阶段

news/2024/5/13 17:44:11/文章来源:https://blog.csdn.net/weixin_42396760/article/details/116287231

事件发生时会在元素节点之间按照特定的顺序传播,这个传播过程即DOM事件流。

aaa5e77d0761ff67fbb43f5a64132df5.png

DOM事件流分为三个阶段,分别为:

捕获阶段:事件从Document节点自上而下向目标节点传播的阶段;

目标阶段:真正的目标节点正在处理事件的阶段;

冒泡阶段:事件从目标节点自上而下向Document节点传播的阶段。

a3110214bb5bd8a1f1a01d91e786dfb2.png

捕获阶段:

Document

.father {

overflow: hidden;

width: 300px;

height: 300px;

margin: 100px auto;

background-color: pink;

text-align: center;

}

.son {

width: 200px;

height: 200px;

margin: 50px;

background-color: purple;

line-height: 200px;

color: #fff;

}

son盒子

var son = document.querySelector('.son');

son.addEventListener('click', function() {

console.log('son');

}, true);

var father = document.querySelector('.father');

father.addEventListener('click', function() {

console.log('father');

}, true);

document.addEventListener('click', function() {

console.log('document');

}, true);

控制台输出结果为:

34e42440268c75e262a2de0dcb3b4c5c.png

可以看出捕获阶段 事件是从Document节点自上而下向目标节点传播的。

冒泡阶段:

var son = document.querySelector('.son');

son.addEventListener('click', function() {

console.log('son');

}, false);

var father = document.querySelector('.father');

father.addEventListener('click', function() {

console.log('father');

}, false);

document.addEventListener('click', function() {

console.log('document');

})

控制台输出结果为:

82e0a0f0d2db446546993ac349aea7e5.png

可以看出冒泡阶段 事件是从目标节点自上而下向Document节点传播的。

注意:

1、JS代码只能执行捕获或者冒泡其中一个阶段(要么是捕获要么是冒泡)

2、onclick和attachEvent(ie)只能得到冒泡阶段

3、addEventListener(type, listener[, useCapture]) 第三个参数如果是true,表示在事件捕获阶段调用事件处理程序;如果是false(不写默认是false),表示在事件冒泡阶段调用事件处理程序

4、实际开发中,我们很少使用事件捕获,我们更关注事件冒泡

5、有些事件是没有冒泡的,比如onblur、onfocus、onmouseenter、onmouseleave

6、事件的冒泡有时会带来麻烦,不过是可以被阻止的,方法是:stopPropagation()

stopPropagation() 方法:终止事件在传播过程的捕获、目标处理或冒泡阶段进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点。

本文来自 js教程 栏目,欢迎学习!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_743012.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows 7 即将发布 - 91%的应用程序、92%的硬件设备和95%的网站完美兼容

Windows Vista的兼容性往往被大家所诟病,Windows 7打算一血前仇了。经过了长达2年的兼容性测试和改进,已经有91%的应用程序、92%的硬件设备和95%的网站完美兼容Windows 7。在这个过程中,作为微软在北京的Windows 7兼容性测试支持中心&#xf…

网站CSS背景图片抓取工具

工具介绍:  1)分析网页,获取页面图片。  2)分析网页引用CSS文件,获取背景图片。  3)批量下载。要点:  1)正则 LINK_PATTERN:获取页面所有连接 BACKGROUND_IMAGE_…

网站服务器基本安全设置

一、服务器系统安装建议1、不安装多余组件,停止不需要的服务;2、www服务单独分区;3、补丁打全;二、登录账号与口令安全1、设置密码使用、数字加大小写字母不少余8位;# vi /etc/login.defs找到以下:PASS_MAX_DAYS 99…

查看网站服务器版本,查看服务器版本

您正在运行的 Tableau Server 的版本很重要。它确定您可以访问的功能和能力。在您进行升级时,版本也很重要,因为在某些情况下,您升级的方式取决于您从中升级的版本,以及要升级到的版本。了解如何查找版本之后,就很容易…

Java开发者必去的20个英文技术网站

为什么80%的码农都做不了架构师?>>> http://www.javaalmanac.com - Java开发者年鉴一书的在线版本. 要想快速查到某种Java技巧的用法及示例代码, 这是一个不错的去处. http://www.onjava.com - OReilly的Java网站. 每周都有新文章. http://java.sun.c…

从零开始建站-4

为什么80%的码农都做不了架构师?>>> 这里记录使用wordpress建站中遇到的问题 1、增加外网访问功能 登录数据库,在wp_options表中,修改字段 siteurl 和home均为 /wordpress,这里的wordpress的绝对路径为/var/www/htm…

Dreamwear如何创建javascript_15个免费学习JavaScript的最佳网站

作者:行者转发链接:https://codegeekz.com/15-best-websites-to-learn-javascript/前言JavaScript是Web最流行的语言。对于任何Web开发人员来说,JavaScript现在是必须学习的语言。像追踪树这样的创新已经大大提高了JavaScript的性能&#xff…

5分钟必懂-搭建网站框架踩到的坑之获取ServletPath

路径问题RealPathServletPathContextPathRequestURI获取真实ServletPath的方法RealPath String realPathrequest.getServletContext().getRealPath(); String realPathrequest.getServletContext().getRealPath("XXX");1)取得服务应用的绝对路径(本地路径…

【nosql实现企业网站系列之一】mongodb的安装

本系列文章将使用Mongodb作为nosql的数据保存载体,显示载体使用aspnetmvc3,依赖注入容器使用unity application 2。 需要使用Mongodb首先需要安装。 一、下载Mongodb 地址:http://downloads.mongodb.org/win32/mongodb-win32-x86_64-2008plus…

32个使用 Google 网页字体的优秀网站案例

如今,网页设计师非常注重网页字体的运用,为了能让网站有更好的可读性和更强的吸引力,他们需要更漂亮的字体。Google网页字体(Google Web Fonts)为设计师们提供了几百种免费开源的字体,只需要在网页中加入一…

用VS2008开发Ajax网站需要注意的一些事项

这两天因为要开始网站,我们的老大说了,一定要用到mvc架构三层模式的设计,另外关于ajax的的使用部分不得少于三分之一,这样的要求还真的是很奇怪,感觉就不太像是可以用于商业的东西,大概只是想让我们练习一下…

Anonymous几天之内攻陷500多个中国网站

根据CNET的报道,Anonymous***激进组织已经在几天之内黑掉了超过500个中国政府/商业网站,并号召中国***加入他们。 The hacked Web site for the Central Business District in Chengdu, China. (Credit: Screenshot by Steven Musil/CNET)

灯鹭的简单开放,促进网站一举多赢

社会化网络作为传统平台的升级与革新,简单开放是有别于传统网站的最显著特点,如今社交媒体发展如火如荼,大量真实且活跃的用户让其成为网站流量的主要来源,很多网站运营人员一直苦于无法参与进去。据了解,目前灯鹭是国…

关于在mvc4中多语言建站的实例

环境:vs2012 asp.net mvc4. 实现方式:resource 资源文件,根据路由规则中Lang参数来判断载入哪种语言方式 在网上找到了相关资料,顺便自己做了个练习,新建工程之类的步骤就免了,该注意的地方说明下&#xff…

网站获取ip代码怎么写_网站关键词怎么写更利于SEO优化

网站关键词是什么呢?就是一个网站给首页设定的以便用户通过搜索引擎能搜到本网站的词汇。简单来说就是一个网站设定出来,以便用户通过搜索引擎能搜到本网站的词汇,网站关键字代表了我们企业网站的市场定位。好的关键字设置,是我们…

研究日本网站设计趋势

日本有一些令人印象深刻的网页设计师。在艺术技能上,给互联网上的读者展示了强大的数字力量。幸运的是我们因为了解日本网站而不是一味的佩服他们的 网站图片和动画效果。我们会寻找一些日本设计师的网站,他们都是一些打破网页设计常规的网站&#xff0c…

60个优秀的免费网站模板下载(下篇)

您可能还喜欢 分享45款高质量的免费(X)HTML/CSS模板分享30个漂亮的免费 PSD 网站模板最新30佳精美 PSD 网站模板免费下载30佳精美的免费Flash网站模板下载50款高质量的网站PSD模板免费下载这篇文章收集了60款各式各样的高质量网站模板,您可以免费下载使用。当你需要…

假日房屋租赁网站HomeAway.com档案

透明的信息,完善的行业规范,让电子商务在国外发展的更快速,更有规模。今天一休就和大家一起来围观下刚刚IPO的HomeAway。 HomeAway是一家提供假日房屋租赁在线服务网站, 公司成立于2004年,并于2005年开始运营。短短几年…

Google Analytics 进行网站流量分析

网站上线了,如果您想要知道您的访问者是如何找到您以及他们是如何与您的网站互动的,Google Analytics(分析)可以告诉您所有相关信息。概念 Web analytics Google AnalyticsWeb analytics provides the tools for gathering this i…

优化杭州某著名电子商务网站高并发千万级大型数据库经验之- 内存性能

好久没写博客了,一方面是日常工作繁忙,另外一方面是想更多的时间陪陪家里人,享受春天的美好时光,同时还在写一本《程序员,你伤不起》的 一本书要由人民邮电出版社出版;我的性格可能也跟大多数程序员类似吧&…