PhoneGap+;Android上的jQM:后退按钮可断开页面

PhoneGap+;Android上的jQM:后退按钮可断开页面,android,jquery,jquery-mobile,cordova,Android,Jquery,Jquery Mobile,Cordova,我遇到了一个非常奇怪的问题。我的PhoneGap应用程序使用jQM作为UI 在第一页上,我有固定的页眉和页脚以及一个带有嵌入式搜索字段的listview: [……] 当我运行应用程序时,它工作正常,但当我点击搜索字段并点击设备的物理后退按钮时,整个页面都会断开:它看起来“更大”,并水平滚动,而且标题不再固定,并随内容滚动 以下版本存在此问题: 电话差距2.7和2.9 jQuery 1.10.1和2.0.2 jQuery Mobile 1.3.1 *编辑* 我已经缩小了问题的范围

我遇到了一个非常奇怪的问题。我的PhoneGap应用程序使用jQM作为UI

在第一页上,我有固定的页眉和页脚以及一个带有嵌入式搜索字段的listview:


[……]


当我运行应用程序时,它工作正常,但当我点击搜索字段并点击设备的物理后退按钮时,整个页面都会断开:它看起来“更大”,并水平滚动,而且标题不再固定,并随内容滚动

以下版本存在此问题:

  • 电话差距2.7和2.9
  • jQuery 1.10.1和2.0.2
  • jQuery Mobile 1.3.1
*编辑*

我已经缩小了问题的范围:当单击搜索字段时,元素接收焦点。当按下后退按钮时,它不会丢失,从而导致故障

下面是一个小型Eclipse项目,显示了这个问题:

导入后,在Android设备上运行项目,以重现问题:

  • 尝试滚动列表视图,注意页眉固定在顶部

  • 单击搜索字段

  • 点击后退按钮(物理)

  • 再次尝试滚动,标题不再固定

  • 请注意,输入字段仍然有一个指示焦点的光晕

*/EDIT*

以前有人遇到过同样的问题吗

谢谢,
Maurizio

对于任何有兴趣了解此问题解决方法的人,我截获了键盘隐藏事件,并模拟了单击以从输入元素释放焦点:

$(document).ready(function() {
    var curWindow = $(window);
    var initialHeight = curWindow.height();
    curWindow.resize(function() {
        console.log("resize: height="+curWindow.height());
        if (curWindow.height() == initialHeight) {
            $('.ui-focus').removeClass('ui-focus');
            $('.ui-content', $.mobile.activePage).trigger('click');
        } 
    });
});
试试这个:

$("#div[data-role=page]").each(function() {
   $(this).fixedtoolbar({ tap: true }); 
});
我想你需要使用下一个meta标签

<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">

<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">