如何在JQM弹出窗口中导航

时间:2014-10-26 00:51:50

标签: html jquery-mobile

这应该很简单。我在JQM中弹出一个弹出窗口就好了。在弹出窗口的HTML中,有一个超链接,如下所示:

<a href="#def">Definition</a>

以及稍后的弹出式HTML:

<a name="def">
<h1>The Definition</h1>
...

问题是当我点击超链接的定义时,而不是重新定位到我想要的文件部分。它会关闭弹出窗口。

我不确定我想做什么是可能的,或者我有一个大脑放屁。

1 个答案:

答案 0 :(得分:0)

当显示弹出窗口时,其背后的想法是任何浏览器页面转换都应该处理弹出窗口。这可能是指向另一个Web文件的链接,也可能是指向现有页面中jQuery Mobile页面的链接。在较高的层面上,我假设一个弹出式实例在浏览器导航中注册了一个监听器,这样当&#34; any&#34;尝试页面转换的形式,它隐藏自己。我不认为您将能够在弹出窗口中执行导航。一种可能的解决方法可能是将弹出内容放在单独的HTML文件中,并将iFrame放在弹出内容体中......但就个人而言,我不喜欢这个概念。

我创建了一个供人们玩的jsFiddle。我强烈建议发布问题的任何人/每个人发布jsFiddle(如果可能的话)。

jsFiddle of puzzle

HTML

<div data-role="page">
    <button id="MyButton" data-ajax="true">Show Popup</button>
    <div data-role="popup" id="MyPopup">
        <div class="ui-content">Hello from my popup
           <a href="#def" data-rel="external" data-ajax="false">Definition</a>
           <a name="def"></a>
           <h1>The Definition</h1>
        </div>
    </div>
</div>
<div data-role="page" id="def">blah</div>

的JavaScript

jQuery(document).on("mobileinit", function () {
    $.mobile.ajaxLinksEnabled = false;
});


jQuery("#MyButton").on("click", function () {
    jQuery("#MyPopup").popup({
        transition: "slideup"
    }).popup("open");
});