猿问

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

画红框的都是一个点击事件

https://img3.mukewang.com/5c81ede500016b2b05200800.jpg

这个蓝色区域的点击事件是让右上角的弹窗关闭
最外层的点击事件添加了阻止冒泡行为 touchstart.stop=“closeMenu” 还是没生效 点击蓝色区域关闭右上角弹窗跟下层的点击事件同时执行了 这应该怎么阻止?


烙印99
浏览 3211回答 2
2回答

呼如林

@click.capture.stop

忽然笑

思想:在最外层div上绑定事件&nbsp;注意菜单不能包含在此div中菜单状态 open = true;时点击非菜单部分关闭菜单 open = false;此时阻止捕获;菜单状态 open = false; 此时不做任何操作大概这样做:<div&nbsp;@click.capture&nbsp;=&nbsp;myClick($event)></div>//.capture&nbsp;设置事件为捕获模式js: myClick:(event){&nbsp;&nbsp;&nbsp;&nbsp;if(this.open){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;event.preventDefault();//再stop止单击事件继续传播&nbsp;,然后子元素就不会被触发 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.open&nbsp;=&nbsp;false;//关闭菜单 &nbsp;&nbsp;&nbsp;&nbsp;} }
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答