美文网首页
移动端android,长按事件时,touchend事件不触发的解

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

作者: hans_431c | 来源:发表于2019-04-15 15:28 被阅读0次

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

    项目需求如下图所示:

    gif5新文件 (1).gif

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

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

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

    相关文章

      网友评论

          本文标题:移动端android,长按事件时,touchend事件不触发的解

          本文链接:https://www.haomeiwen.com/subject/pkpuwqtx.html