javascript - 用focus()给文本框设置页面一加载就获得焦点,但是在移动端失效。
天蓬老师
天蓬老师 2017-04-10 17:55:10
[JavaScript讨论组]
document.getElementById("leave-message-textarea").focus();

在pc上页面一加载是已经获得焦点可以直接输入的,但是在移动端就不行,必须点一下输入框手机的键盘才能升起开始输入。

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(2)
巴扎黑

移动端的focus等确实有问题,这种(比如调用键盘输入框、调用音频播放器等)第一次有效执行需要在用户自己触发一个事件后开始执行,硬生生的在dom加载完后直接触发有时候会被某些浏览器或者系统阻止掉。

一般也就是给Input加上autofocus,然后保险再给额外的给document监听一个touchstart事件,这个事件的回调中在来触发input的focus()

我的解决思路就是这样的,当时做这玩意的时候也是自己的身边的几个手机和浏览器测了下,没全测,也不知道是不是满足所以情况。

PHP中文网

试下autofocus呢?<input type="text" placeholder="xxx" autofocus>

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号