taro h5 ios解决input不能自动获取焦点拉起键盘

描述:页面中有个按钮,点击跳转到第二个页面(有input),能直接获取焦点拉起键盘输入

安卓:

直接用focus()

ios:

focus无效,必须手动拉起

原理:

点击按钮的时候拉起一个此页面隐藏的input或者全局隐藏的input拉起键盘, 跳转后通过setSelectionRange 去设置光标

步骤一:定一个全局的隐藏input,并挂到window上
步骤二:第一个页面点击按钮,调起全局input, 然后跳转
步骤三:在第二个页面去设置页面中的input光标


这里的坑:

1)querySelector 是获取的页面第一个指定dom

  1. 必须用settimeout, 否则键盘能拉起,但是光标不在input中,不能直接输入

3)这里的input是原生的,可以直接获取到,如果用第三方ui, 比如taroui中的 AtSearchBar ,必须用最里面的input, 不能用AtSearchBar 上其他的dom, 并且要放到settimeout中, 否则为null



相关推荐
摸着石头过河的石头2 天前
taro3.x-4.x路由拦截如何破?
前端·taro
少恭写代码8 天前
duxapop 更新 2025-05-16 新增Svg编辑器 修复Svg多个Bug
小程序·taro
超级土豆粉12 天前
Taro Hooks 完整分类详解
前端·javascript·react.js·taro
少恭写代码13 天前
duxapp中主题系统是如何实现动态切换的
react native·小程序·移动开发·taro·duxapp
超级土豆粉19 天前
Taro 位置相关 API 介绍
前端·javascript·react.js·taro
zhuà!19 天前
taro+react重新给userInfo赋值后,获取的用户信息还是老用户信息
javascript·react.js·taro
超级土豆粉19 天前
Taro 网络请求相关 API 全面解析
网络·notepad++·taro
Feather_7423 天前
从Taro的Dialog.open出发,学习远程控制组件之【事件驱动】
javascript·学习·taro
faimi24 天前
从Taro的Dialog.open出发,学习远程控制组件之【事件驱动】
taro·源码阅读