DOM 事件流及代码验证

简介: DOM 事件流及代码验证

事件的发生会在元素节点之间以特定的顺序传播,这个过程就是 DOM 事件流


document ——> html ——> body ——> div,这个过程即为事件流的捕获阶段,反过来则为冒泡阶段,之前说的的事件侦听注册事件用到的第三个参数( true / false )就是用来捕获或者冒泡阶段的,如果参数为 true ,则说明在捕获阶段,如果为 false ,则说明在冒泡阶段(不写的话默认为 false)

捕获阶段:

如果参数为 true 则是捕获阶段,捕获阶段按照 document ——> html ——> body ——> div 的顺序执行,有父元素先进行父元素 再进行子元素,此代码中点击 son 盒子,先输出 document,再输出 father,后输出 son,与捕获事件流的顺序相同


<div class="father">

      <div class="son"></div>

  </div>

  <script>

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

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

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

          alert('son');

      },true);

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

          alert('father');

      },true);

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

          alert('document');

      },true)

  </script>



冒泡阶段:

如果参数为 false 则是冒泡阶段,冒泡阶段按照 div ——> body ——> html ——> document 的顺序执行,有子元素先进行子元素 再进行父元素,此代码中点击 son 盒子后先输出 son,再输出 father,再输出 document,与捕获阶段相反


<div class="father">

      <div class="son"></div>

  </div>

  <script>

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

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

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

          alert('son');

      },false);

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

          alert('father');

      },false);

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

          alert('document');

      },false)

  </script>




相关文章
|
4月前
|
存储 移动开发 JavaScript
jQuery 根据 css 类筛选 DOM 元素的代码
jQuery 根据 css 类筛选 DOM 元素的代码
|
4月前
|
前端开发 JavaScript
浏览器通过构建DOM树来解析HTML代码
【4月更文挑战第30天】浏览器通过构建DOM树来解析HTML代码
47 1
|
4月前
|
JavaScript 前端开发
JS获取DOM元素的八种方法(含代码,简单易懂)
JS获取DOM元素的八种方法(含代码,简单易懂)
|
4月前
|
JavaScript
浅浅的说下dom的事件流和事件委托
浅浅的说下dom的事件流和事件委托
|
JavaScript 算法 前端开发
深入vue2.0源码系列:手写代码模拟Vue2.0实现虚拟DOM的实现原理
深入vue2.0源码系列:手写代码模拟Vue2.0实现虚拟DOM的实现原理
85 0
|
前端开发 JavaScript 开发者
前端祖传三件套JavaScript的DOM之事件的事件流
在前端开发中,事件流是一种非常重要的概念。通过了解事件流的原理,我们可以更加深入地理解 JavaScript 的 DOM 事件机制,并实现更加复杂的交互效果。本文将介绍 JavaScript 中的事件流。
102 0
|
JavaScript
HTML DOM 允许我们通过触发事件来执行代码。
HTML DOM 允许我们通过触发事件来执行代码。
44 0
|
XML 移动开发 JavaScript
【JavaScript-DOM重点核心】事件绑定,解除事件,DOM事件流
【JavaScript-DOM重点核心】事件绑定,解除事件,DOM事件流
149 0
【JavaScript-DOM重点核心】事件绑定,解除事件,DOM事件流
|
JavaScript
如何在DOM元素加载完毕后执行js代码以及DOM加载过程
如何在DOM元素加载完毕后执行js代码以及DOM加载过程
如何在DOM元素加载完毕后执行js代码以及DOM加载过程
|
Web App开发 监控 JavaScript
使用DOM Breakpoints找到修改属性的Javascript代码
使用Chrome开发者工具的DOM断点功能可以让您快速找到修改了某一个DOM元素的Javascript代码。 在Chrome开发者工具里,选中想要监控的DOM元素,点击右键,选择Break on->Attributes modifications:
使用DOM Breakpoints找到修改属性的Javascript代码