美文网首页
js中事件流:事件冒泡、事件捕获、事件委托

js中事件流:事件冒泡、事件捕获、事件委托

作者: jadefan | 来源:发表于2019-10-15 20:27 被阅读0次

事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间。
事件流,描述的是从页面中接收事件的顺序。

早期的浏览器主要是IE和Netscape,它们在处理事件流时是完全相反的,IE的事件流是事件冒泡流,而Netscape的事件流是事件捕获流。


事件冒泡(event bubbing),即事件开始时由最具体的元素(嵌套最深的节点)接收,然后逐级向上传播到较为不具体的节点(文档)。【4-5-6-7】
事件捕获(event capturing),与冒泡相反,由不太具体的节点先接收,再逐级向下传播到具体到节点。【1-2-3-4】

现代浏览器处理时事件流顺序为先捕获在冒泡【1-2-3-4-5-6-7】,并且只在冒泡时响应事件,比如在body上添加了点击事件的监听,在5阶段才回响应,在3阶段是不会接收传播的。

事件委托,也叫事件代理,就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。

<body>
  <div id="divUl">
    <ul>
      <li>1</li>
      <li>2</li>
      <li>3</li>
      <li>4</li>
    </ul>
  </div>
  <script>
    document.getElementById('divUl').onclick = function (e) { 
      console.log(e.currentTarget);  //<div id='divUl'>...</div>
      console.log(e.target);  //<li>2</li>
    }
  </script>
</body>

当点击在<li>标签上时,响应的是div的点击事件,但获取到e.target就是实际点击的要素

通过事件模拟可以用js脚本来模拟触发用户交互事件,详情查看后续文章

相关文章

  • JavaScript 事件冒泡、事件捕获和事件委托

    JavaScript 事件冒泡、事件捕获和事件委托 以下在chrome、firefox执行通过。 事件流、事件冒泡...

  • 事件基础(2)

    js事件的三个阶段:捕获,目标,冒泡 IE:IE事件流是事件冒泡流 Netscape事件流是事件捕获流 IE事件...

  • 图解事件委托

    事件捕获和事件冒泡 说到事件委托我们就不得不提JS中事件的整个历程中的两个机制:事件捕获和事件冒泡。 然而要说这事...

  • js中事件流:事件冒泡、事件捕获、事件委托

    事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间。事件流,描述的是从页面中接收事件的顺序。 早期的浏览器主要是...

  • 事件冒泡、事件捕获、事件委托

    事件冒泡、事件捕获、事件委托

  • js事件深入学习

    JavaScript的事件机制包含,事件绑定、事件监听、事件委托(事件代理)等 js中的事件流 ① .冒泡:当下级...

  • 事件

    事件流 描述的是从页面中接收事件的顺序。 IE——事件冒泡流 Netscape——事件捕获流 事件冒泡流:即事件最...

  • JS事件相关基础

    js事件: 键盘事件: JS中的事件冒泡和事件捕获: 1、事件冒泡。如下代码: 点击button事件,连同父元素绑...

  • js事件冒泡,事件捕获,事件委托

    1,事件冒泡,事件捕获 百度到的事件冒泡:当事件发生后,这个事件就要开始传播(从里到外或者从外向里)。为什么要传播...

  • 原始类型与事情委托

    1.绑定事件: 二、事件冒泡与事件捕获 事件委托 案例见事件委托 计时器

网友评论

      本文标题:js中事件流:事件冒泡、事件捕获、事件委托

      本文链接:https://www.haomeiwen.com/subject/rykemctx.html