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