2012-03-04 56 views
0

我有一個Web應用程序,具有真實停靠在瀏覽器屏幕底部的固定位置元素裏面一個文本。只要選擇textarea的,如果瀏覽器不滾動到頁面的底部,textarea的最終屏幕上的鍵盤高於約30個像素。的iOS/iPad的移動Safari瀏覽器 - onfocus事件之前觸發的JavaScript代碼的textarea打開屏幕鍵盤

我想嘗試以某種方式發射這個代碼是什麼:

Query('html, body').scrollTop(999999); 

到文檔滾動到頁面底部的鍵盤打開之前。 Unforunately出現的鍵盤在這之前不火:

jQuery('div#team_chat textarea').bind('focus', function(e){ 

    if(jQuery.isIpad()){ 
     jQuery('html, body').scrollTop(999999); 
    } 

}); 

注:isIpad()是一個擴展我加入,可檢測目前的瀏覽器是一個iPad jQuery對象。

回答

0

這是iPad還是其他任何移動/手持設備預期的行爲,無論何時焦點更改到輸入/ textarea元素,頁面滾動到該元素點火開鍵盤事件。 對於你的情況,你可以嘗試滾動頁面的底部之前添加的setTimeout讓textarea的集中後,瀏覽器的默認行爲發生,然後你可以解僱你的scrollTop的功能。

jQuery('div#team_chat textarea').bind('focus', function(e){ 

    if(jQuery.isIpad()){ 
     setTimeout("jQuery('html, body').scrollTop(999999)",1000);//Here sis the change 
    } 

}); 
+0

不幸的是,這並不工作,因爲鍵盤打開,因爲焦點仍在textarea的固定位置元素不更新其位置 – 2012-03-04 07:00:19

+0

它的後 – Abhidev 2012-03-04 07:30:39

相關問題