js事件监听 addEventListener()

用法:

target.addEventListener(type, listener, options);
target.addEventListener(type, listener, useCapture);

参数:

  • type: 表示事件监听类型的字符串。(click、mouseenter...)

  • listener: 当所监听的事件类型触发时,会接收到一个事件通知(实现了 Event接口的对象)对象。listener 必须是一个实现了 EventListener 接口的对象,或者是一个函数。

  • options(可选):
    一个指定有关 listener属性的可选参数对象。可用的选项如下:

    • capture: Boolean,表示 listener 会在该类型的事件捕获阶段传播到该 EventTarget 时触发。
    • once: Boolean,表示 listener 在添加之后最多只调用一次。如果是true, listener 会在其被调用之后自动移除。
    • passive: Boolean,设置为true时,表示 listener 永远不会调用 preventDefault()。如果 listener 仍然调用了这个函数,客户端将会忽略它并抛出一个控制台警告。
    • mozSystemGroup: 只能在 XBL 或者是 Firefox' chrome 使用,这是个 Boolean,表示 listener被添加到 system group。
  • useCapture(可选): Boolean,默认是false。在DOM树中,注册了listener的元素, 是否要先于它下面的EventTarget,调用该listener。 当useCapture(设为true) 时,沿着DOM树向上冒泡的事件,不会触发listener。当一个元素嵌套了另一个元素,并且两个元素都对同一事件注册了一个处理函数时,所发生的事件冒泡和事件捕获是两种不同的事件传播方式。事件传播模式决定了元素以哪个顺序接收事件。

useCapture设置为true时,会以事件捕获的顺序执行,为false时,会按照事件冒泡的顺序执行。

你可能感兴趣的:(js事件监听 addEventListener())