当前位置: 首页 > Web前端 > HTML

模拟H5长按事件

时间:2023-03-28 14:40:33 HTML

背景:部分业务场景需要上报识别二维码等长按事件,具体用途因业务而异。思路:一般二维码的扫描时序是在长按后600ms内触发,以600ms作为相对时间进行计算。常用接口:@touchstart//手指触摸手机屏幕时触发@touchmove//手指在手机屏幕上移动时触发@touchend//手指离开手机屏幕时触发@touchcancel//系统取消操作时触发touch事件,比如来电@click//触发执行顺序touchstart>touchmove>touchend>clicktouchmove和click事件是互斥的,即touchmove触发执行,click事件不再执行touchend,touchcancel理论上不会触发同时实现方法:在touchstart事件中获取当前时间戳在事件中进行判断,定义规则:在该方法中获取当前时间戳减去touchstart事件中获取的时间戳和600ms判断大小。在touchmove事件中,通过touchstart事件中定义的方法进行判断。如果小于600ms就把touchstart事件中获取的时间戳设置为0,在touchend中判断touchstart事件中获取的时间戳和touchmove事件中定义的规则为真。这个时候你要上报什么,在touchcancel里上报代码: