jQuery Mobile:listview('refresh') 应该进入哪个事件?
Posted
技术标签:
【中文标题】jQuery Mobile:listview(\'refresh\') 应该进入哪个事件?【英文标题】:jQuery Mobile: Which event should listview('refresh') go in?jQuery Mobile:listview('refresh') 应该进入哪个事件? 【发布时间】:2012-03-03 07:02:24 【问题描述】:我正在开发一个应用程序,它使用 WebSQL DB 来存储数据然后检索它。 UI 由 jQuery Mobile 提供支持,当我成功从数据库中取回数据后,我将其放入列表视图中。
当我这样做时,我得到了数据,但根本没有任何样式。只是普通的网络浏览器渲染。
为了刷新布局,我查看了需要使用的 jQuery Mobile Docs $('#list').listview('refresh');
现在我尝试了几种实现方式,但总是失败。我在问,刷新语句应该进入哪个事件。 在页面加载时,我加载数据并将其放入 DOM。
请帮忙!... 谢谢...
【问题讨论】:
什么是错误(如果有),jsfiddle.net 或演示代码? 【参考方案1】:好的,这可能不是最好的方法,但我找到了解决方案。
我做了一个函数,我连接到 body 的 onload 事件。这似乎行得通。
所以在其他人没有给我更好的解决方案之前,我可能会继续使用它...
【讨论】:
【参考方案2】:试试 $('#list').listview();要初始化它,只有在添加 li 元素并且需要设置样式时才调用 refresh。
【讨论】:
我发现我需要调用 $('#list').listview();初始化它。但关键是应该触发哪个?现在我在 body 上连接了一个 onLoad 事件。这是一个好方法还是我应该改变? pageinit 是 jQM 的等价于 jQuery 的 $(document.ready) ,它是正文中 onload 事件的首选方法。如果 ul 填充在服务器端并且已经在您的 html 中,您应该能够将 data-role="listview" 添加到您的 ul 中,甚至不必在其上调用 listview() 。如果你动态添加了这个ul,那么你需要调用listview()。如果你在调用 listview() 之后添加了新的 li 元素,那么你需要调用 listview('refresh') 希望清除它 感谢您的解释......还有一个问题,我应该使用 bind 还是 live 来处理 pageinit 事件?谢谢...:D以上是关于jQuery Mobile:listview('refresh') 应该进入哪个事件?的主要内容,如果未能解决你的问题,请参考以下文章
Jquery Mobile + Phonegap 提升 listview 性能
点击事件上的 jQuery Mobile listview 小部件不会为 Mobile 触发
添加 ClickListener JQuery Mobile ListView