2012-02-10 30 views
0

我正在开发一个应用程序,它使用WebSQL DB来存储数据,然后检索它。 UI由jQuery Mobile提供支持,当我成功从数据库取回数据时,我将它放在一个listview中。jQuery Mobile:哪个事件应该listview('刷新')进入?

当我这样做,我得到的数据,但没有任何造型。只需简单的Web浏览器渲染。

要刷新的布局,我看着就jQuery Mobile的文档,我需要使用$('#list').listview('refresh');

现在我想的这几种实现方式,总是失败。我在问,哪个事件应该刷新语句进入。 在我的页面加载我加载数据并将其放入DOM。

请帮助!... 谢谢...

+0

什么是错误(如果有),http://jsfiddle.net或演示代码? – 2012-02-10 20:41:50

回答

0

好吧,这可能不是最好的方式,但我找到了解决办法。

我做了一个功能,我连接到身体的onload事件。这似乎工作。

所以直到别人不给我一个更好的解决办法,我可能会继续使用......

0

尝试$(“#列表”)的列表视图()。要初始化它,如果添加li元素并且需要样式化,则只调用refresh。

+0

我想通了,我需要调用$('#list')。listview();初始化它。但问题是哪一个应该被触发? 现在我在身上挂上了一个onLoad事件。这是一种好方法,还是应该改变? – 2012-02-12 15:23:03

+0

pageinit是jQM相当于jQuery的$(document.ready),它是body中onload事件的首选方法。如果ul被填充服务器端并且已经存在于你的html中,那么你应该能够将data-role =“listview”添加到你的ul中,而不必在它上面调用listview()。如果你动态地添加了这个ul,那么你需要调用listview()。如果你在调用listview()后添加了新的li元素,那么你需要调用listview('refresh')希望清除它 – 2012-02-13 18:20:39

+0

感谢您的解释......只是一个问题,我应该使用bind还是live为pageinit事件? 谢谢...:D – 2012-02-14 09:39:06