概述

  1. 事件发生后,会产生一个事件对象,作为参数传递给监听函数。
  2. 浏览器原生提供了Event对象,所有的事件都是这个对象的实例或继承了Event.prototype对象

    Event

  3. Event本身是一个构造函数,可以用来生成新的实例

    1. const evt = new Event(type,options);
  4. type是字符串,表示事件的名称

  5. options 是一个对象,表示事件对象的配置,主要有两个属性
  • bubbles: 默认为false,表示事件对象是否冒泡
  • cancelable:默认为false,表示事件是否可以被取消,即能用Event.preventDefault()取消这个事件

Event实例属性

Event.bubbles

  1. 用来判断事件是否可以冒泡
  2. 可以返回true,否则返回false

    Event.eventPhase

  3. 返回一个整数常量,表示事件所处的阶段

    1. var phase = event.eventPhase;
  4. 共有四种取值可能:

  • 0:表示事件目前没有发生
  • 1:捕获阶段
  • 2:目标阶段
  • 3: 冒泡阶段

    Event.cancelable

  1. 返回布尔值,表示事件是否可以被取消
  2. Event构造函数生成的事件,默认是不可以取消的

    Event.cancelBubble

  3. 设置为true的时候,相当于调用Event.stopPropagation(),阻止事件的传播

    Event.defaultPrevented

  4. 返回一个布尔值,该属性只读

  5. 表示该事件是否调用过Event.preventDefault方法

    Event.currentTarget

  6. 事件当前正在通过的节点

  7. 随事件的传播,该属性会发生变化

    Event.target

  8. 事件发生的原始节点

  9. 该属性不会发生变化

    Event.type

  10. 返回一个表示事件类型的字符串

  11. 只读

    Event.timeStamp

    Event.sTrusted

    Event.detail

    实例方法