touchmove事件错误的解决方案

A workaround of the touchmove event bug?

本文关键字:解决方案 错误 事件 touchmove      更新时间:2023-09-26

每当touchmove事件被触发时,我试图执行一些代码。然而,touchmove事件现在有很多bug。在许多浏览器中,包括Android浏览器和Chrome 34。

确实存在一个"解决方案"来尝试"修复"这个问题:

$('html').on('touchmove', function(e) {
    e.preventDefault();
    //...
});

通过添加preventDefault,它将导致浏览器更新事件。然而,它也停止了所有进一步的touchmove事件,我真的不想。

是否有,通过任何机会,一个解决方案,修复这个错误,但也不取消事件?谢谢。

我相信您需要更多的东西,我认为答案是在协调使用所有其他事件和管理"活动"状态方面的某个地方。

  el.on('touchstart mousedown', function(e) ...
  el.on('touchcancel', function(e)  ...
  el.on('touchmove mousemove', function(e)  ...
  el.on('touchend mouseup', function(e) ...

我使用angular-touch做一些事情,它们似乎解决了同样的问题,值得看看一些示例代码。https://github.com/angular/bower-angular-touch/blob/master/angular-touch.js L122