![](/img/trans.png)
[英]Preventing viewport resize of web page when android soft keyboard is active
[英]Webpage slides up when soft keyboard is active
從Safari 10開始,鍵盤高度不會影響window.innerHeight
。 來源 :
當顯示鍵盤時,iOS 10上的Safari和WKWebView不會更新window.innerHeight屬性。
正如您所發現的那樣,這不僅可以使元素正確地調整到顯示區域的resize
,而且在打開鍵盤時沒有resize
事件。
由於鍵盤將整個頁面滑出視口的頂部,因此您可以使用窗口高度與頁面的scrollTop
屬性之間的差異來計算顯示高度。 要檢測鍵盤何時打開或關閉,請在輸入上偵聽onfocus
和onblur
事件。
var myInput = document.getElementById( "your-input-field-id" );
var myContainer = document.getElementById( "your-container-id" );
myInput.addEventListener( 'onfocus', function() {
var displayHeight = window.innerHeight - myContainer.scrollTop;
myContainer.style.height = displayHeight + "px";
}, true );
myInput.addEventListener( 'onblur', function() {
myContainer.style.height = "100%";
}, true );
制作標題主元素的克隆,並將其置於頂部,如果用戶關注輸入將是最簡單的答案。
$('#example').clone().addClass('cloned').prependTo('body');
但是,您必須向該元素添加唯一類,並將以下css提供給該類,
.cloned {
position:fixed;
left:0;
top:0;
z-index:'give highest z-index';
}
你在另一個<div> your_element </div>
嘗試了<div> root </div>
<div> your_element </div>
我建議你使用這個position:fixed; top:0;
position:fixed; top:0;
在標題上沒有創建克隆。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.