1

我试图弹出一个非常简单的“你确定吗?” jQuery Mobile 中的弹出窗口。但是,如果我使用data-rel="popup"按钮上的 ,则不会发生任何事情。如果我删除data-rel它会打开 - 但作为一个完整的窗口。逻辑运作良好,但我仍然希望看到一个弹出窗口。

这是代码(简化了 - 我删除了其他页面、标题、html 等 - 除了这个问题,该应用程序运行良好,因此无需调试这些)。要查看的 2 个元素是按钮“clearHistory”和弹出窗口本身“history”:

<!-- history page -->
<div data-role="page" id="history">
    <div data-role="header" data-position="fixed">
        <a href="#" data-role="button" data-rel="back" data-icon="arrow-l" data-iconpos="notext">Back</a>
        <h1>History</h1>
        <a href="#deletePopup" data-role="button" data-rel="popup" id="clearHistory" data-icon="delete" data-iconpos="notext" data-theme="d">Delete</a>
    </div><!-- /header -->

    <div data-role="content">
        <ul data-role="listview" id="historyList" data-inset="true" data-theme="f"></ul>
        <h4 id="historyEmpty">History is empty</h4>
    </div><!-- /content -->

    <div data-role="footer" data-position="fixed">
        <h4><a class="ttg" href="http://www.TravelingTechGuy.com" rel="external" target="_blank">Traveling Tech Guy</a></h4>
    </div><!-- /footer -->       
</div>
<!-- end history page -->

<!-- delete history popup -->
<div data-role="popup" id="deletePopup" data-overlay-theme="a" data-theme="c" data-dismissible="false">
    <div data-role="header" data-theme="a">
        <h1>Delete History?</h1>
    </div>
    <div data-role="content" data-theme="d">
        <h3>Delete all items in history?</h3>
        <a href="#" data-role="button" data-inline="true" data-rel="back" data-theme="b">Cancel</a>
        <a href="#" data-role="button" data-inline="true" data-rel="back" data-theme="d" id="deleteHistory">Delete</a>
    </div>
</div>
<!-- delete history popup -->

知道我在这里想念什么吗?

4

1 回答 1

1

将弹出窗口放在里面<div data-role=page>,该 div 应该是弹出 div 的直接父级。我之前<div data-role=content>放在下面的演示中。

演示

对话框应该放在外面<div data-role=page>,因为它们被视为一个页面。

于 2013-06-30T07:17:08.620 回答