iOS 7全屏web应用程序触发javascript touchend延迟

iOS 7全屏web应用程序触发javascript touchend延迟,javascript,ios,ios7,iphone-standalone-web-app,Javascript,Ios,Ios7,Iphone Standalone Web App,我有一个独立的web应用程序,可以很好地与iOS 6配合使用 在iOS 7中,我注意到在手指滑动后触发javascript touchend事件时有明显的延迟(几秒钟)。行为不一致,有时第一次刷卡会立即生成事件,而只有后续的刷卡会延迟 这是一个已知问题和/或有解决方法吗 谢谢。iOS 7和HTML5上的Safari:问题、变化和新API:iOS 7和HTML5上的Safari:问题、变化和新API:我正在开发的HTML5游戏也遇到了同样的问题。有时touchend似乎会立即启动,而有时会在启动前

我有一个独立的web应用程序,可以很好地与iOS 6配合使用

在iOS 7中,我注意到在手指滑动后触发javascript touchend事件时有明显的延迟(几秒钟)。行为不一致,有时第一次刷卡会立即生成事件,而只有后续的刷卡会延迟

这是一个已知问题和/或有解决方法吗


谢谢。

iOS 7和HTML5上的Safari:问题、变化和新API:

iOS 7和HTML5上的Safari:问题、变化和新API:

我正在开发的HTML5游戏也遇到了同样的问题。有时touchend似乎会立即启动,而有时会在启动前延迟几秒钟

我无意中想起了setTimeout 0技巧,它将一块javascript推到队列中供以后处理。我在touchend事件处理程序中执行了一些“重载”(一些DOM操作),这似乎中断了它的启动

我用setTimeout将代码包装在touchend处理程序中,这样就消除了延迟:

$(document).on('touchend', function (e) {
    setTimeout(function(){
        //do stuff here...
    }, 0);
});

我在开发一款HTML5游戏时遇到了同样的问题。有时touchend似乎会立即启动,而有时会在启动前延迟几秒钟

我无意中想起了setTimeout 0技巧,它将一块javascript推到队列中供以后处理。我在touchend事件处理程序中执行了一些“重载”(一些DOM操作),这似乎中断了它的启动

我用setTimeout将代码包装在touchend处理程序中,这样就消除了延迟:

$(document).on('touchend', function (e) {
    setTimeout(function(){
        //do stuff here...
    }, 0);
});

iOS 7.1似乎解决了这个问题;touchend事件正确触发(即使没有零超时)

iOS 7.1似乎解决了这个问题;touchend事件可以正常启动(即使没有零超时)

我已经看过那篇文章了,但是没有提到独立的web应用程序在touch事件上有问题(它只是提到了很多web应用程序的问题,我正在寻找更具体的问题)。我已经看过那篇文章了,但是没有提到独立的web应用程序在触摸事件方面有问题(它只是提到了web应用程序的许多问题,我正在寻找更具体的问题)。在iOS 7.0.3中仍然没有修复:-(在iOS 7.0.3中仍然没有修复:-(非常感谢!这修补了iOS 7.0漏洞。希望iOS 7.1能够永久修复漏洞,不再需要这样的解决方法。非常感谢!这修补了iOS 7.0漏洞。希望iOS 7.1能够永久修复漏洞,不再需要这样的解决方法。