首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android webkit中未调用setTimeout

android webkit中未调用setTimeout
EN

Stack Overflow用户
提问于 2010-08-16 02:55:33
回答 5查看 9.4K关注 0票数 3

在我的安卓手机(2.1)上,当手指在触摸屏上按住一段时间时,我发现setTimeout有一个奇怪的行为。

这个非常简单的代码实际上工作得很好(每秒调用一次),直到我滚动窗口一段时间(2-3秒就足够了),当它停止被调用时

代码语言:javascript
复制
$(document).ready(function(){
    spam();
});

function spam(){
    console.log("cia")
    setTimeout(spam, 1000);
}
EN

回答 5

Stack Overflow用户

发布于 2011-01-27 00:05:07

我也有同样的问题。

解决方案是将被调用的函数定义为变量,然后将ist作为参数传递给setTimeout。

试试这个:

代码语言:javascript
复制
var spam = function(){
   console.log("cia")
   setTimeout(spam, 1000);
}

$(document).ready(function(){
   spam();
});
票数 3
EN

Stack Overflow用户

发布于 2012-03-07 11:55:20

我以前在做一些开发时在我的设备上遇到过这个问题,但这些解决方案对我都不起作用。

从我所做的阅读来看,有相当好的文档表明确实会发生这种情况,但似乎没有一致的解决方法。

对我来说起作用的是关闭我的测试站点的窗口,清除缓存,退出浏览器,然后打开任务管理器并关闭进程。当我再次打开浏览器,转到我的测试站点时,我原来开始工作的标准代码又开始工作了。

我唯一的猜测是浏览器本身进入了某种奇怪的状态,它不运行标准的内置浏览器函数( setTimeout()或setInterval()对我来说都不起作用,但这两个javascript函数确实存在)。

我用三星Galaxy S运行安卓2.1进行了测试,我不知道这是否会对其他人有帮助,但这对我来说是有效的。

票数 1
EN

Stack Overflow用户

发布于 2012-04-26 11:13:24

尝尝这个

代码语言:javascript
复制
    function spam(){
        console.log("cia")
        setTimeout("spam()", 1000);
    }

setTimeout:

代码语言:javascript
复制
    /**
    @param {String|Function} vCode
    @param {Number} iMillis
    @return Number
    */
    window.setTimeout = function(vCode,iMillis) {};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3488764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档