關於頁面自動聚焦輸入框,並彈出軟鍵盤這個問題,我大致搜索並測試了一下。
1.通過js執行focus(),Android下只聚焦,出現光標,無軟鍵盤出現;ios下無任何表現。(失敗)
2.增加autofocus屬性,效果與1相同。
3.將代碼放入延遲函數setTimeout 中執行,效果還是無法出現。
4.用button點擊來執行focus(),出現軟鍵盤。(這樣button影響美觀和用戶體驗)
所以我根據第四點做出了一個設想,當用戶進入頁面時,任意點擊一出就出現軟鍵盤(這樣Android和ios都會實現,隨不及加載直接出現軟鍵盤的效果,但也可以增加用戶體驗。希望對大家有幫助)代碼如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.4.js"></script>
<style>
html,body{
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div id="box" style="width: 100%;height: 100%;">
<input type="tel" style="width: 100%; height: 100px;border: 1px solid #ccc;" id="inputt" autofocus="autofocus"></input>
</div>
</body>
<script type="text/javascript">
document.getElementById("box").onclick = function(){
document.getElementById("inputt").focus();
}
</script>
</html>
