zoukankan      html  css  js  c++  java
  • Javascript事件阶段:在添加事件监听时冒泡与捕获阶段的不同

    Q:描述下js里面的事件流

    A:DOM2级事件模型中规定了事件流的三个阶段:捕获阶段、目标阶段、冒泡阶段,低版本IE(IE8及以下版本)不支持捕获阶段

    捕获事件流:Netscape提出的事件流,即事件由页面元素接收,逐级向下,传播到最具体的元素。

    冒泡事件流:IE提出的事件流,即事件由最具体的元素接收,逐级向上,传播到页面。

     

    定义和用法:

    addEventListener() 方法用于向指定元素添加事件句柄。

    使用removeEventListener() 方法来移除addEventListener()方法添加的事件句柄。

    语法:

    element.addEventListener(event,function,useCapture)

    参数值:

    event:必须。字符串,指定事件名。

    注意: 不要使用 "on" 前缀。 例如,使用 "click" ,而不是使用 "onclick"。 

    function:必须。指定要事件触发时执行的函数。 

    当事件对象会作为第一个参数传入函数。 事件对象的类型取决于特定的事件。例如, "click" 事件属于 MouseEvent(鼠标事件) 对象。

    useCapture:

    可选。布尔值,指定事件是否在捕获或冒泡阶段执行。

    可能值:

      • true - 事件句柄在捕获阶段执行
      • false- false- 默认。事件句柄在冒泡阶段执行

     

     

     分别在window、document、html、body、btn上绑定事件,单击按钮,输出结果如下:

  • 相关阅读:
    94. Binary Tree Inorder Traversal
    101. Symmetric Tree
    38. Count and Say
    28. Implement strStr()
    实训团队心得(1)
    探索性测试入门
    LC.278. First Bad Version
    Search in Unknown Sized Sorted Array
    LC.88. Merge Sorted Array
    LC.283.Move Zeroes
  • 原文地址:https://www.cnblogs.com/Moomoo/p/5359586.html
Copyright © 2011-2022 走看看