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

2019-04-15  本文已影响0人  hans_431c

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

项目需求如下图所示:

gif5新文件 (1).gif

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

解决长按事件后,touchend不触发的方法:

添加touchcancel事件,处理逻辑和touchend一样即可!
上一篇下一篇

猜你喜欢

热点阅读