vue div点击时触发遮罩层显示的同时会把冒泡事件传送到遮罩层

发布于 2022-09-12 23:31:05 字数 452 浏览 10 评论 0

过程:vue框架采用了自定义的遮罩层,随后使用vue2-touch-events插件的v-touch:tap点击事件进行点击时,发现无法阻止冒泡事件,会直接导致div正上方的遮罩层内的点击事件被触发。
代码如下
image.png

随后没有发现v-touch:tap阻止冒泡的方法。
进行过直接在v-touch:tap后加上.stop、在同个div加上click.stop或tap.stop、在父div加上click.stop或tap.stop,但是都无法阻止还是冒泡了了。

随后用click来进行操作,发现是可以的,但是移动端点击click不灵敏,h5的触摸事件又太灵敏……才会采用v-touch:tap……
故求问有没有大佬们知道怎么v-touch:tap阻止冒泡,或者遮罩层如何修改可以不被冒泡,或者有什么比click还灵敏一点的点击事件

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

吻风 2022-09-19 23:31:05

建议看下vue2-touch-events的源码,很简单,没有多少代码,通过源码可以知道,他并没有stop修饰符

阻止事件冒泡,需要看你的遮罩的点击事件是什么事件,如果是click,在目标元素上@click.stop应该就可以了,如果也是v-touch指令,那需要把他内部的几个事件都禁止掉,v-touch内部注册的事件
image.png

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文