2013-06-27 38 views
1

我遇到了一個非常奇怪的問題。我的PhoneGap應用程序爲用戶界面使用jQM。Android上的PhoneGap + jQM:後退按鈕中斷頁面

在第一頁上我有固定標題和頁腳與嵌入式搜索字段列表視圖:

[...]

 <div data-role="content"> 
      <div id="main-calls-div"> 
       <ul data-role="listview" data-filter="true" data-filter-placeholder="Cerca" id="main-calls-list" data-icon="false"> 
        <!-- Dinamically created on JS --> 
       </ul> 
      </div> 
     </div> 

當我運行它工作正常的應用程序,但我點擊搜索欄,並擊中設備的物理後退按鈕整個頁面都會斷開:看起來「較大」並水平滾動,而且頁眉不再固定,並且滾動顯示內容。

出現問題的有以下版本:

  • PhoneGap的2.7和2.9
  • jQuery的1.10.1和2.0.2
  • jQuery Mobile的1.3.1

*編輯*

我已經縮小了這個問題:點擊o在元素接收焦點的搜索字段中。當按下後退按鈕時,它不會丟失,從而導致問題。

這裏的顯示問題,一個小的Eclipse項目:

http://dev.mobimentum.it/jsfiddle/test-17349904.zip

進口,在Android設備上運行該項目,以重現該問題後:

  • 嘗試滾動列表視圖,注意標題固定在頂部

  • 點擊搜索字段

  • 擊中返回按鈕(物理)

  • 嘗試滾動再次,報頭不再被固定

  • 通知該輸入字段仍具有輝光指示焦點

* /編輯*

任何人之前遇到過同樣的問題?

感謝, 莫里吉奧

回答

0

對於任何有興趣瞭解這個問題的解決方法,我已經截獲鍵盤事件隱患和模擬點擊從輸入元素釋放焦點:

$(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'); 
     } 
    }); 
}); 
0

試試這個:

$("#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">