<div id="largeArea" v-on:click="do_X">
<button>Button</button>
</div>因此,我在Vue中有一个问题,我不想在单击按钮时触发"do_X“,尽管它是largeArea的一部分。
发布于 2021-05-23 14:51:24
我正在创建一个导航栏,并有类似的要求。我希望弹出菜单在点击任何地方时关闭,接受菜单或其子菜单。
这可以通过使用事件修饰符来完成。在参考之前请参阅此文档
具体来说,我们可以使用stop事件修饰符。
<div id="largeArea" v-on:click="do_X()">
<button @click.stop="">Button</button>
</div>.stop将停止事件传播。
在我的例子中,更好的解决方案是使用e.target != this.$el
mounted() {
window.addEventListener('click', (e)=>{
if(e.target !== this.$el)
this.showChild = false;
})
}https://stackoverflow.com/questions/48798216
复制相似问题