首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在两个dom元素上使用onClickOutside (vueuse)?

如何在两个dom元素上使用onClickOutside (vueuse)?
EN

Stack Overflow用户
提问于 2022-11-18 16:28:59
回答 1查看 28关注 0票数 0

当单击事件发生在onClickOutside包之外时,可以使用vueuse包中的ref函数触发

代码语言:javascript
运行
复制
const imageRef = ref(null)

onClickOutside(imageRef, (event) => {
    state.active = false
})

dom元素:

代码语言:javascript
运行
复制
<img ... ref="imageRef"/>

但是有什么方法可以在两个dom元素上使用它吗?我想要的是,当用户单击两个元素的外部时,触发函数。我尝试在两个dom元素上添加相同的ref,但是ref只是被第二个元素覆盖。所述多姆元素是,而不是在v-for循环中呈现的

EN

回答 1

Stack Overflow用户

发布于 2022-11-18 16:57:09

如果您仍然想通过vueuse来处理这个问题,那么有一个选项:ignore

代码语言:javascript
运行
复制
<template>
    <img ... ref="imageRef"/>
    <p ... ref="pRef"/>
</template>

<script setup>
import { ref } from 'vue';
import { onClickOutside } from '@vueuse/core'

const imageRef = ref(null), pRef = ref(null), state = ref({active: false});

const doSomething = () => {state.value.active = true};

onClickOutside(imageRef, doSomething, {ignore: [pRef]});
onClickOutside(pRef, doSomething, {ignore: [imageRef]});
</script>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74492663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档