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

过程: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还灵敏一点的点击事件

阅读 3.5k
1 个回答

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题