Jquery mobile 加载元素时单击(延迟加载?)

Jquery mobile 加载元素时单击(延迟加载?),jquery-mobile,cordova,settimeout,Jquery Mobile,Cordova,Settimeout,我们正在使用PhoneGap和JQuery Mobile创建一个应用程序 我们需要显示一个(非常)长的元素列表,它们必须快速显示。为此,我们首先加载50个项目,然后加载接下来的50个项目,以此类推。这样,用户可以在第一个项目显示后立即开始使用它们 使用以下代码加载列表: function loadTheNext50Items() { ... //loading stuff ... if (haveItemsNotLoaded) { setTimeout(loadThe

我们正在使用PhoneGap和JQuery Mobile创建一个应用程序

我们需要显示一个(非常)长的元素列表,它们必须快速显示。为此,我们首先加载50个项目,然后加载接下来的50个项目,以此类推。这样,用户可以在第一个项目显示后立即开始使用它们

使用以下代码加载列表:

function loadTheNext50Items() { 
  ...
  //loading stuff
  ...
  if (haveItemsNotLoaded) {
     setTimeout(loadTheNext50Items);
  }
}

除了一些手机(例如三星s4mini)之外,这项功能非常有效。使用这些手机,我们无法与加载的项目交互,直到它们全部加载(例如,不会触发单击)。

何时刷新列表?无论如何,最好使用异步函数在变量中准备列表,并在done函数中刷新列表。例如--(total:files.length)do(total:1)to循环一次。清除(}).progress(函数(步骤){)中的所有内容,并通过将新列表项添加到变量表中来完成您的工作,例如(output+=“
  • 新行
  • ”;)在done函数中刷新列表。谢谢。问题是项目不仅仅是文本
  • 标记。需要时间的是在DOM中插入项目。因此刷新所有列表太长。是的,延迟加载会导致问题,刷新整个列表。分页通常是最好的