在changePage选项卡不起作用后

时间:2014-05-14 16:39:20

标签: jquery-mobile tabs navbar

我是jquery mobile的新手。我有两页是page1.html和page2.html。 page1将导航到page2,而page2会导航到导航栏。

这是我的代码 page1.html导航到第2页

  $.mobile.pageContainer.pagecontainer("change", "page2.html", {
    allowSamePageTransition: true,
    transition: 'none',
    showLoadMsg: false,
    reloadPage: false,
    changeHash: true

})

page2.html

  <!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>collapsible demo</title>
    <link rel="stylesheet" href="//code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css" />
    <script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
    <script src="//code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>
</head>
<body>

    <div data-role="page" id="page1">
        <div data-role="header">
            <h1>jQuery Mobile Example</h1>
        </div>
        <div data-role="content" class="ui-content">
            <div data-role="tabs">
                <div data-role="navbar">
                    <ul>
                        <li><a href="#fragment-1">One</a></li>
                        <li><a href="#fragment-2">Two</a></li>
                        <li><a href="#fragment-3">Three</a></li>
                    </ul>
                </div>
                <div id="fragment-1">
                    <p>This is the content of the tab 'One', with the id fragment-1.</p>
                </div>
                <div id="fragment-2">
                    <p>This is the content of the tab 'Two', with the id fragment-2.</p>
                </div>
                <div id="fragment-3">
                    <p>This is the content of the tab 'Three', with the id fragment-3.</p>
                </div>
            </div>
        </div>
    </div>
</body>

</html>

如果我单独运行page2,它可以工作。但是,一旦我将页面从page1更改为page2,问题就会出现。请不要回复我添加rel="external"一旦我使用 rel =&#34;外部&#34;

,可能会导致白屏问题

1 个答案:

答案 0 :(得分:2)

这是一个已知的jQuery Mobile 1.4错误,它将在jQuery Mobile 1.4.3版本中修复。

在此处详细了解:https://github.com/jquery/jquery-mobile/issues/7169

在那里你也会找到一种解决方法。

还有另外一个解决方案,它要求您动态创建标签窗口小部件,如下所示:

$(document).on("pagecreate", "#p2", function () {
    var tabs = '<div data-role="tabs" id="tbPaymentMethod"><div data-role="navbar"><ul><li><a href="#tabCash">Tab 1</a></li><li><a href="#tabCcard">Tab 2</a></li><li><a href="#tabCheck">Tab 3</a></li></ul></div><div id="tabCash"><p>This is the content of the tabwith the id fragment-1.</p></div><div id="tabCcard"><p>This is the content of the tabwith the id fragment-2.</p></div><div id="tabCheck"><p>This is the content of the tabwith the id fragment-3.</p></div></div>';
    $("#p2 .ui-content").append(tabs).enhanceWithin();
});

工作示例:http://jsfiddle.net/Gajotres/JAuwV/