You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VueUse onClickOutside仅支持左键点击,如何使其兼容右键点击?

解决VueUse onClickOutside响应右键点击的问题

默认情况下onClickOutside只监听click事件(对应左键点击),要让它响应右键,只需要在配置项里指定额外的事件类型即可:

  • 核心配置:给onClickOutside的第三个参数(配置对象)添加eventTypes: ['click', 'contextmenu'],其中contextmenu就是右键点击触发的事件
  • 完整示例代码:
<script setup>
import { ref } from 'vue'
import { onClickOutside } from '@vueuse/core'

const targetEl = ref(null)

onClickOutside(targetEl, (e) => {
  // 可选:区分左键/右键
  if (e.button === 0) console.log('外部左键点击')
  if (e.button === 2) console.log('外部右键点击')
}, {
  eventTypes: ['click', 'contextmenu'] // 关键配置项
})
</script>

<template>
  <div ref="targetEl" style="width: 200px; height: 200px; background: #f0f0f0;">
    点击外部区域(左键/右键)测试
  </div>
</template>

补充说明:

  • 如果只需要响应右键,直接把eventTypes设为['contextmenu']即可
  • 通过事件对象的button属性可以区分点击类型:0=左键,2=右键

内容的提问来源于stack exchange,提问作者MrSpt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 07:12:03