关于页面自动聚焦输入框,并弹出软键盘这个问题,我大致搜索并测试了一下。
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>
