偵測手機鍵盤的方法
目前JS針對的 keyboard event都是對電腦鍵盤的事件
現行原生的JS還沒有針對手機鍵盤做有效的事件
導致某些情況會讓你的手機跑版
像是手機鍵盤開啟後
你的 window.innerHeight , window.outterHeight 都會偵測錯誤
尤其在渲染框架的時候,容易發生變形的狀況產生
此時就可以用 innerHeight的改變來偵測,
大家都知道 window.screen.height這個是不受內在的因素影響
所以判斷方法為:
程式碼:
if (window.screen.height > window.innerHeight + window.screen.height * 0.3){
console.log('手機鍵盤彈出囉');
}
// window.screen.height * 0.3 是預設的最小手機鍵盤高度
這邊為何是*0.3 因為手機鍵盤,最小高度幾乎都是 0.3*的device高
唯有鍵盤出現的時候才會兩者相加 <= window.screen.height
正常的內部高度+鍵盤高度一定大於 解析度的高度
知道偵測方法後,
看你要放在 渲染完後偵測,還是建構時偵測
或加
之類的document.addEventListenr('resize',function())
就可以完成手機建旁偵測囉!
@copyright MRcodingRoom
觀看更多文章請點MRcoding筆記
觀看更多文章請點MRcoding筆記
很不錯喔
當藍