Skip to content
On this page

useEventListener

在挂载时用原生的 addEventListener 方法, 卸载时自动使用原生的 removeEventListener 方法

用法

js
import { useEventListener } from '@ vmejs/core';

useEventListener(document, 'visibilitychange', (evt) => {
  console.log(evt);
});

您还可以传递一个 ref 作为事件目标,useEventListener 当您更改目标时,将注销前一个事件并注册新事件。

ts
import { useEventListener } from '@vueuse/core';

const element = ref<HTMLDivElement>();
useEventListener(element, 'keydown', (e) => {
  console.log(e.key);
});
html
<template>
  <div v-if="cond" ref="element">Div1</div>
  <div v-else ref="element">Div2</div>
</template>

通过返回的方法来注销监听事件

ts
import { useEventListener } from '@vueuse/core';

const cleanup = useEventListener(document, 'keydown', (e) => {
  console.log(e.key);
});

cleanup();