美文网首页
移动端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事件不触发的解

    下面记录一个在工作中,遇到的touchend事件不触发的bug解决方法: 项目需求如下图所示: 就是当长按特定按钮...

  • 移动端H5模拟长按行为

    需求: 点击编辑, 长按删除 环境: 移动端H5 思路: 使用touchstart事件 +touchend事件 +...

  • 移动端事件

    移动端的常见事件 touchstart 手指按下时触发touchmove 手指移动touchend 手指抬起 p...

  • 移动端------移动事件对

    在移动端,用户每时每刻都在触发移动事件,比如触摸的事件,点击,长按,左右滑动的事件,手指缩放,等等。都是移动事件的...

  • 模拟浏览器长按事件

    因为js没有长按事件,所以我们需要模拟长按事件,核心是利用touchstart和touchend事件加一个定时器解...

  • 小程序开发知识点总结

    一、事件 1.1 点击事件:tap 长按事件: longtap 触摸事件:touchstart touchend ...

  • 移动端事件

    移动端只有手指的事件 Touch事件 touchstart or touchmove touchend 开启3D加...

  • 微信小程序 --- 事件绑定

    1.事件类别: tap:点击事件; longtap:长按事件; touchstart:触摸开始; touchend...

  • 笔记 || 移动端事件(touch)

    移动端三个事件: touchstart——手指按下; touchmove——手指移动; touchend——手指松...

  • 移动端

    原生事件 因为click有300ms的延迟(用于判断是否长按),所以不建议在移动端使用click。移动端事件,主要...

网友评论

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

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