我使用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");
}
});
});
由于
答案 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" );
}
});