【问题标题】: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 或演示代码?

标签: listview jquery-mobile refresh


【解决方案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
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-20
    • 2011-09-27
    • 1970-01-01
    • 1970-01-01
    • 2011-05-16
    • 1970-01-01
    • 2012-07-10
    相关资源
    最近更新 更多