首页 文章

从Mobile Safari长按过滤mousemove事件

提问于
浏览
0

我目前正在为多个浏览器构建一个支持触摸的滑块小部件 . 所以,我有touchstart,touchend,touchmove,mousedown,mousemove和mousedown的听众 . 除了Mobile Safari之外,它的效果很好 .

如果我长按我的目标,鼠标移动事件将触发前一次触摸的坐标,从而导致抖动 .

如何在不引起桌面交互问题的情况下阻止或过滤掉此鼠标移动事件?

2 回答

  • 0

    你考虑过使用Swipe JS吗? http://swipejs.com/

  • 0

    在移动旅行中长按的事件序列是touchstart,mousemove,touchend . 这与有效的鼠标移动(mousedown,mousemove,mouseup)和有效触摸(touchstart,touchmove,touchend)不同 . 如果您为所有有效事件调用防止默认值,则不会收到额外通知 . 因此,如果您跟踪滑块是否使用鼠标独立移动以响应触摸而移动,则鼠标移动发生在正常序列之外,可以安全地忽略 .

相关问题