为了账号安全,请及时绑定邮箱和手机立即绑定

vue 最外面一层的div的点击事件执行同时如何让其他的点击事件不执行

vue 最外面一层的div的点击事件执行同时如何让其他的点击事件不执行

烙印99 2019-03-08 12:21:20
画红框的都是一个点击事件这个蓝色区域的点击事件是让右上角的弹窗关闭最外层的点击事件添加了阻止冒泡行为 touchstart.stop=“closeMenu” 还是没生效 点击蓝色区域关闭右上角弹窗跟下层的点击事件同时执行了 这应该怎么阻止?
查看完整描述

2 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

@click.capture.stop

查看完整回答
反对 回复 2019-03-08
?
忽然笑

TA贡献1806条经验 获得超5个赞

思想:
在最外层div上绑定事件 注意菜单不能包含在此div中
菜单状态 open = true;时点击非菜单部分关闭菜单 open = false;此时阻止捕获;
菜单状态 open = false; 此时不做任何操作

大概这样做:

<div @click.capture = myClick($event)></div>//.capture 设置事件为捕获模式js:
myClick:(event){    if(this.open){
        event.preventDefault();//再stop止单击事件继续传播 ,然后子元素就不会被触发
        this.open = false;//关闭菜单
    }
}


查看完整回答
反对 回复 2019-03-08
  • 2 回答
  • 0 关注
  • 3210 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信