移动端android,长按事件时,touchend事件不触发的解决方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动端android,长按事件时,touchend事件不触发的解决方法相关的知识,希望对你有一定的参考价值。

参考技术A

下面记录一个在工作中,遇到的touchend事件不触发的bug解决方法:

就是当长按特定按钮的时候,会启动一个事件,往杯子里面装水,当松开后,会有相关的操作,但是发现在部分安卓手机里面,长按松手后,touchend事件触发不了。一开始在网上找了好多回复,都说在touchstart事件里面加上e.preventDefault()就可以啦,但是经过亲身试验后,发现此方法对长按事件无效!
后来只能查看了一下touch其他的事件,发现还有 touchcancel 这么一个东西!
这个事件是在,当触控点被特定的实现方式打乱时触发 的,于是就怀着死马当活马医的心情,在页面添加了touchcancel事件,里面执行的逻辑和touchend事件里面的逻辑是一模一样的,结果还真是不让人失望,完美解决!

以上是关于移动端android,长按事件时,touchend事件不触发的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

解决移动端页面滚动后不触发touchend事件

Vue 移动端的长按与触摸事件

解决移动端页面滚动后不触发touchend事件

移动端touchstartouchmovetouchend 事件如果页面有滚动时不让触发 touchend 事件。

VUE: 移动端长按弹出确认删除地址

移动端web,tap与click事件