jquery mobile,使用android硬件后退按钮关闭面板

时间:2013-08-17 08:36:11

标签: jquery-mobile

我使用jqm创建了一个面板,我希望能够使用andoird phone back按钮在打开时关闭它。

现在,当面板打开并且我使用后退按钮时,它会转到上一页,而不是仅关闭面板。

知道怎么做吗? 这是我的html页面与面板:

<div id="welcome-page" data-role="page">    
    <a data-role="button" id="open-panel" data-theme="a">Enquiries</a>
</div>  

以下是面板的js文件结构:

$(document).on('pagebeforecreate', '#welcome-page', function(){                
    $('<div>').attr({'id':'mypanel','data-role':'panel','data-position':'right','data-display':'overlay'}).appendTo($(this));
    $(document).on('click', '#open-panel', function(){   
        $.mobile.activePage.find('#mypanel').panel("open");
        populateContactForm('args');
        ...
    }); 
    $(document).on('change', '#mypanel input[type=radio]', function(){ 
    ...
    });
});


$(document).on('pagebeforeshow', function() {   
  $(document).bind('keydown', function(event) {
    alert(event.keyCode);
    if (event.keyCode == 27) {
      event.preventDefault();
      $('#mypanel').panel("close");
    }
  });
});

由于

1 个答案:

答案 0 :(得分:1)

您可以在javascript:

中捕获硬件后退按钮,如下所示
$(document).bind('keydown', function(event) {
  if (event.keyCode == 27) {
    // Prevent default (disable the back button behavior)
    event.preventDefault();

    // Your code to close panel or show another page or whatever...
    $( '#mypanel' ).panel( "close" );
  }
});