如何防止固定導航在虛擬鍵盤啟動期間跳轉
當虛擬鍵盤出現在Mobile Safari 中時,固定導航元素可能會出現意外行為。這可能會導致導航跳到頁面中間不理想的位置。
問題
當使用者遇到固定導航元素的位置突然發生變化時,他們專注於固定導航中的文字輸入字段,並出現虛擬鍵盤。當導航元素位於頁面底部時,這一點尤其明顯。
解決方案
要解決此錯誤,請考慮使用以下CSS 和JavaScript 程式碼:
CSS:
.header { position: fixed; } .footer { position: fixed; } .fixfixed .header, .fixfixed .footer { position: absolute; }
JavaScript:
if ('ontouchstart' in window) { /* Cache DOM references */ var $body = $('body'); /* Bind events */ $(document) .on('focus', 'input', function() { $body.addClass('fixfixed'); }) .on('blur', 'input', function() { $body.removeClass('fixfixed'); }); }
以上是為什麼在 Mobile Safari 中啟動虛擬鍵盤時固定導航會跳轉?的詳細內容。更多資訊請關注PHP中文網其他相關文章!