2012-03-04 12 views
0

Webアプリケーションがあり、ブラウザ画面の下部にドッキングされた固定位置要素内にテキストエリアがあります。テキストエリアが選択されると、ブラウザがページの最下部までスクロールされないと、テキストエリアはスクリーンキーボードの約30ピクセル上に終わります。キーボードが開く前にiOS/iPadモバイルSafari - onFocusイベントの前にJavaScriptのトリガーコードが表示され、画面上のキーボードが開きます

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

は、ページの一番下に文書をスクロールする:私は何とかこのコードを発射されてみたいのですがどのような

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

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

}); 

注:isIpadは()私は、現在のブラウザはiPadであるか否かを検出するjQueryオブジェクトに追加の拡張機能です。キーボードが表示される前にUnforunatelyこれは発生しません。

答えて

0

これはIpadやその他の携帯/携帯デバイスの予想される動作です。フォーカスが入力/テキストエリアの要素に変更されると、そのページは開いているキーボードイベントを発生させる要素にスクロールします。 あなたのケースでは、テキストエリアがフォーカスされた後にブラウザのデフォルトの動作が行われ、scrollTop関数を起動できるように、ページをスクロールする前にsetTimeoutを追加してみることができます。

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

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

}); 
+0

キーボードが開いた後、フォーカスがテキストエリアに残っているので、固定位置要素が –

+0

その自分の位置を更新しないので、残念ながら、これは、動作しません。 – Abhidev

関連する問題