【问题标题】:Changing pages in jQuery Mobile causes strange formatting issues在 jQuery Mobile 中更改页面会导致奇怪的格式问题
【发布时间】:2011-04-19 15:19:08
【问题描述】:

我有一个单页 jQuery 移动应用程序,它由几个动态填充的列表视图组成。每当我第一次访问一个页面时,它们都会正确加载并且所有格式看起来都很棒,但是如果我导航到另一个页面然后返回它,该页面的所有内容都会向上“推”大约 50%。

只有当我点击类似于

的链接时才会出现此问题
<a href="#mypagewithlist">something</a>

而不是按下后退按钮(这不会导致 page() 调用)。

以下是一些页面的示例:

<div data-role="page" id="pagewithlist">
    <div data-role="content">
        <ul data-role="listview" id="mylistview"> </ul>
        <!-- I use jQuery Templates to populate the above list -->
    </div>
</div>
<div data-role="page" id="pagewithlink">
    <div data-role="content">
        <a data-role="button" href="#pagewithlist">Go to page with list</a>
    </div>
</div>

在第一次加载页面时,我从 API 中提取数据,然后使用该数据用 jQuery 模板填充空列表。

任何想法如何解决这个问题?

【问题讨论】:

    标签: jquery mobile-website jquery-mobile


    【解决方案1】:

    您的原始页面(您使用链接返回的那个页面)的数据 URL 是什么?您是否尝试过为该页面 (div) 分配一个 ID 并将链接更改为 &lt;a href="#mypagewithlist"&gt;something&lt;/a&gt;?如果链接和页面的 data-url 不匹配,jQM 会再次获取原始页面,然后在 DOM 中加载两次,这可能会导致问题。

    【讨论】:

    • 我已经编辑了我的问题,以添加有关我遇到的问题的更多详细信息。
    • 嗯,看来你发现了一个错误!当我转到jquerymobile.com/test/#/test/docs/lists/docs-lists.html,向下滚动,打开例如“带有计数气泡的列表”然后返回...
    • 我就是这么想的。我相信我已经找到了解决方法。在您的页脚中添加 data-position="fixed" 似乎可以解决问题。
    • 是的,已经有人举报了。添加了一些 cmets 和一个复制问题的示例应用程序 - github.com/jquery/jquery-mobile/issues/…
    【解决方案2】:

    您是否尝试在返回页面时更新列表?即:

    $('ul').listview('refresh');
    

    【讨论】:

    • 列表视图本身很好,只是出于某种原因它似乎“跳了起来”。仅当我滚动到屏幕底部以选择我的标签栏项目之一时才会出现此问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多