关闭jQuery Mobile面板

6
我有一个带有链接的面板,就像这样

页面1
页面2
页面3

如果我当前在页面1并打开面板,则选择页面1时面板不会关闭。我已经检查过 jQuery移动面板文档,它具有相同的行为(如果您打开面板并单击“面板”,则面板将保持打开状态。
是否有一种方法可以在选择相同页面链接时关闭面板?
编辑:jQuery Mobile版本:1.3.2 jQuery版本:1.9.1

1
你能在 jsfiddle 上提供一个演示吗? - Irvin Dominin
以编程方式关闭它,$(".selector").panel("close"); - Omar
这是一个演示:http://jsfiddle.net/k89A5/ - spezzino
2个回答

14

你可以这样做

$(document).on("pageinit", function () {
  $("[data-role=panel] a").on("click", function () {
    if($(this).attr("href") == "#"+$.mobile.activePage[0].id) {
      $("[data-role=panel]").panel("close");
    }
  });
});

更新:对于jQM >= 1.4,请使用$.mobile.pageContainer.pagecontainer("getActivePage")替代$.mobile.activePage

演示:http://jsfiddle.net/Palestinian/k89A5/1/


你可以在返回函数中使用 $("[data-role=panel]").panel("close"); 来关闭面板。 - pat capozzi

3

只需添加 data-rel="close"

 <li class="liPanel"><a href="javascript:void(0);" **data-rel="close"** class="ui-btn ui-shadow ui-corner-all ui-btn-icon-right ui-icon-info">Faqs</a>
</li>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接