我正在使用Bootstrap Vue和Vue.js,遇到了一个问题,我迭代了一些项目并将它们显示给用户。
问题是,当用户点击其中一个弹出窗口时,每个打开的弹出窗口都会关闭(正如我所希望的那样),但是当用户点击目标(打开的)弹出窗口的焦点区域之外时,它不再关闭。
看起来好像每次用户点击目标弹出框时都会运行打开动画。
代码如下:
<template>
<div>
<div class="row" v-for="(n, i) in 5" :key="n">
<div :id="'popover' + visitor.id + '-' + i" @click="$root.$emit('bv::hide::popover')">
<div class="card">
<b-popover :target="'popover' + visitor.id + '-' + i">
<template slot="title">
Edit image
<button
class="close-popover"
@click="$root.$emit('bv::hide::popover', 'popover' + visitor.id + '-' + i)"
>X</button>
</template>
</b-popover>
</div>
</div>
</div>
</div>
</template>
字符串
任何帮助是赞赏!
5条答案
按热度按时间jm2pwxwz1#
您可以在弹出框上设置
triggers="click blur"
。这将在用户在弹出框外部或目标上单击时关闭它。你可以在这里查看更多。
6yoyoihd2#
您可以在创建的
字符串
cgvd09ve3#
将这个Jquery添加到您的代码中,它可能会工作。
字符串
你也可以试试这个:
你可以把它添加到你的代码中并尝试。
型
添加jquery:
型
ujv3wf0j4#
一个可能的解决方案是vue指令v-click-outside。
基本上,您只需安装它:
npm install --save v-click-outside
用途:
字符串
vof42yt15#
将属性**tabindex='0'**添加到click元素
字符串
添加设置触发器为'点击模糊'
型