问题分析: (网络上普遍答案,但不能确定是否是这个原因导致)
移动端的主要问题是click会有200-300ms的延迟,主要原因是苹果手机在设计时,考虑到用户在浏览网页时需要放大,所以,在用户点击的300ms之后,才触发click,如果300ms之内还有click,就会进行放大缩小。
解决方法:(尝试该方法,但还是会出现点击事件无效。有可能是网络问题???)
使用 tap 替换 click 点击事件
tap事件缺陷,主要考虑到下面两点:
按住的事件不能超过延时时间,因为长时间可能就是浏览器的复制、粘贴等操作了。
不能在页面中移动,移动是不能触发tap事件的。
原文链接:
https://www.jianshu.com/p/09c3c8fbb957
https://www.cnblogs.com/zhuzhenwei918/p/7588553.html
扩展:
.stop 阻止事件冒泡
阻止事件冒泡时要在外层加一层标签<view @tap.stop="stop"></view>
,直接在需要使用的方法上加.stop
无效
自定义组件点击事件绑定把 @click 换成 @click.native, // @tap.native
.native - 监听组件根元素的原生事件。