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>




相关文章
|
27天前
|
JavaScript 前端开发 UED
JS DOM 事件流与事件冒泡
【10月更文挑战第16天】理解 DOM 事件流和事件冒泡是掌握 JavaScript 事件处理的关键。通过合理利用事件冒泡,可以实现更高效、灵活的事件处理机制,提升用户体验和开发效率。在实际开发中,要根据具体情况灵活运用这些概念,以达到最佳的效果。
|
6月前
|
前端开发 JavaScript
浏览器通过构建DOM树来解析HTML代码
【4月更文挑战第30天】浏览器通过构建DOM树来解析HTML代码
68 1
|
6月前
|
JavaScript 前端开发
JS获取DOM元素的八种方法(含代码,简单易懂)
JS获取DOM元素的八种方法(含代码,简单易懂)
|
6月前
|
JavaScript
浅浅的说下dom的事件流和事件委托
浅浅的说下dom的事件流和事件委托
|
JavaScript 算法 前端开发
深入vue2.0源码系列:手写代码模拟Vue2.0实现虚拟DOM的实现原理
深入vue2.0源码系列:手写代码模拟Vue2.0实现虚拟DOM的实现原理
99 0
|
前端开发 JavaScript 开发者
前端祖传三件套JavaScript的DOM之事件的事件流
在前端开发中,事件流是一种非常重要的概念。通过了解事件流的原理,我们可以更加深入地理解 JavaScript 的 DOM 事件机制,并实现更加复杂的交互效果。本文将介绍 JavaScript 中的事件流。
112 0
|
JavaScript
HTML DOM 允许我们通过触发事件来执行代码。
HTML DOM 允许我们通过触发事件来执行代码。
50 0
|
XML 移动开发 JavaScript
【JavaScript-DOM重点核心】事件绑定,解除事件,DOM事件流
【JavaScript-DOM重点核心】事件绑定,解除事件,DOM事件流
159 0
【JavaScript-DOM重点核心】事件绑定,解除事件,DOM事件流
|
JavaScript
如何在DOM元素加载完毕后执行js代码以及DOM加载过程
如何在DOM元素加载完毕后执行js代码以及DOM加载过程
如何在DOM元素加载完毕后执行js代码以及DOM加载过程
|
前端开发
前端案例:像素鸟小游戏(js+dom操作,完整代码,附案例素材)
前端案例:像素鸟小游戏(js+dom操作,完整代码,附案例素材)
509 0
前端案例:像素鸟小游戏(js+dom操作,完整代码,附案例素材)