2

我正在为 iPhone 创建一个网络应用程序,但我偶然发现了一个问题。到目前为止,我只见过 TouchStart、TouchEnd、TouchMove 和 TouchCancel。是否有任何功能可以将“循环同时”与 TouchStart 结合起来?也就是说,如果有一个代码会继续执行操作,直到您停止触摸屏幕。

所以我想结合的是:

while( /*CONDITION*/ ) 

$(' *#ID* ').bind( "touchstart", function(e){ /*CODE*/ });

我还不是很擅长 Javascript,所以我真的不知道自己该怎么做。我也在谷歌上搜索过解决方案,但没有结果。有没有办法将函数与循环结合起来?我在努力完成不可能的事情吗?

4

1 回答 1

4

As JavaScript is single-threaded, a while loop would result in freezing the interface as soon as the touch started. But you can simulate that with a timer:

var timer;
$('#ID').bind("touchstart", function(e){
    clearInterval(timer); // stop the timer (if any)
    timer = setInterval(function() {
        // do something every 100ms
    }, 100);
});
$('#ID').bind("touchend touchcancel", function(e){
    clearInterval(timer); // stop the timer
});
于 2013-06-10T18:29:01.983 回答