移动设备上的setTimeout

setTimeout on Mobile

本文关键字:setTimeout 移动      更新时间:2023-09-26

我使用一个简单的setTimeOut()来防止UI的阻塞,如下所示:

setTimeout(function () {
  somefunction(m);
}, 0);

这在IE和其他浏览器中运行良好。但UI在chrome mobile和galaxy sIII内置webkit浏览器等移动浏览器中仍然被阻止。有什么想法吗?

由于移动浏览器具有内置延迟的特性,您总是需要将延迟设置为高于零。

setTimeout(function () {
  somefunction(m);
}, 10);

编辑:正如@Doorknob在评论中提到的,10ms是可以的,这样在设置值高于100ms时不会造成更多延迟。

0的超时没有帮助,超时以毫秒为单位。如果你的回调函数保持在dom上,那么在超时间隔后,你也会遇到同样的情况,这也将有助于你的回调功能尝试做什么。