zoukankan      html  css  js  c++  java
  • 16 —— 扩展 —— 事件传播 及 浏览器的事件处理

    一,事件传播  

    顺序  :   捕获 => 目标 => 冒泡

    1,事件的冒泡

    2,事件的捕获    

    从外往里j进入,叫做事件的捕获过程 。

    事件的处理程序发生在冒泡阶段,而不是捕获阶段

    举例说明:

    例:点击d3  

    (1) html => body => d1 => d2 => d3   事件的捕获阶段

    (2) 到达 d3       事件的目标阶段

    (3) d3 => d2 => d1 => body =>html    事件的冒泡阶段

    <html>

      <body>
        <div id="d1">
           d1
          <div id="d2">
            d2
            <div id="d3">
              d3
            </div>
          </div>
        </div>

    <script>
      var d1 = document.getElementById('d1')
      var d2 = document.getElementById('d2')
      var d3 = document.getElementById('d3')
      d1.onclick = ()=>{
        alert('d1')
      }
      d2.onclick = ()=>{
        alert('d2')
      }
      d3.onclick = ()=>{
        alert('d3')
      }
    </script>
     
    ——————————————————————————
     
    二,事件绑定的三种形式
     
    1,行内绑定
    2,动态绑定
      d1.onclick = ()=>{}
    3,事件监听
      
    /*   事件绑定 —————> 事件监听
    *   第三个参数决定这个程序在什么阶段触发
    *   true => 触发阶段在捕获阶段触发
    *    一经捕获,立即执行
    */
    d1.addEventListener('click', () => { alert('hello d1') }, true)
    d2.addEventListener('click', () => { alert('hello d2') }, false)
    d3.addEventListener('click', () => { alert('hello d3') }, true)
     
     
     
  • 相关阅读:
    【原创】(九)Linux内存管理
    【原创】(八)Linux内存管理
    【原创】(六)Linux内存管理
    【原创】(四)Linux内存模型之Sparse Memory Model
    2019年总结
    被低估的.NET(下)-2019 中国.NET 开发者峰会
    《.NET内存管理宝典》阅读指南
    《 .NET并发编程实战》扩展阅读
    《 .NET并发编程实战》阅读指南
    《 .NET并发编程实战》阅读指南
  • 原文地址:https://www.cnblogs.com/500m/p/10954235.html
Copyright © 2011-2022 走看看