移动端页面加载后input自动获得焦点并且弹出自动弹出软键盘,请问怎么弹出?ios中自动获得焦点失效?

发布于 2022-09-07 07:28:33 字数 236 浏览 25 评论 0

如题,需要是页面加载完成后,input自动获得焦点,并且自动弹出软键盘,现在的问题是:
1.无法弹出软键盘
2.ios苹果手机浏览器无法自动获得焦点(安卓正常)

html如下:

 <input autofocus id="mobile"  type="tel" placeholder="请输入您的手机号码"/>

请问大神,有没有其他好的解决方法?谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

梦醒灬来后我 2022-09-14 07:28:33

来自FastClick团队的大牛指出了IOS下input的获取焦点存在这样的问题:
我和我的同事发现,iOS将只允许在其他元素上绑定函数来触发focus事件,如果第一个函数调用栈是由非编程触发的事件(这句不知道怎么翻译)。IOS的安全机制开始阻止你触发input元素的focus事件。
就是说如果没有通过某种用户交互,iOS不会(触发focus事件)
可参考这篇文章
github上也有相关的issue:iOS does not show keyboard on .focus()

所以解决的方案你可以试试:(即为输入框绑定一个事件,然后主动触发)
你可以在页面再加一个无关的<div id = '#tickt'> </div>

 $('#tickt').on('click', function() {
    $('#mobile').focus();
   });
  $('#tickt').trigger('click');
め可乐爱微笑 2022-09-14 07:28:33
Promise.resolve().then(() => {
   input.focus();
});
梦里的微风 2022-09-14 07:28:33

input autofocus

深巷少女 2022-09-14 07:28:33

onload事件里手动触发focus

霊感 2022-09-14 07:28:33

你试试给input标签加个自动点击事件?页面加载完成后,自动点击一次…模拟手指点击,有时候解决问题可以从多方面考虑。

薄荷→糖丶微凉 2022-09-14 07:28:33

解决了吗?我也遇到这个问题,现在是用自己写的,但会出现不灵敏的现象

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文