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



相关推荐
AI前端老薛1 天前
Taro 小程序如何优雅地分包
小程序·taro
zfyljx7 天前
Taro+react input框在文字中间插入光标会跳到末尾问题
javascript·react.js·taro
yixiancheng7 天前
安装taro与配置钉钉
taro
喵了几个咪9 天前
GoWind Content Hub|风行,开箱即用的企业级前后端一体内容中台
vue.js·golang·react·taro
一枚菜鸟_9 天前
02-React+TypeScript基础速览
前端·taro
Dragon Wu22 天前
Taro 小程序开发注意事项(不定期记录更新)
前端·javascript·小程序·typescript·taro
Dragon Wu23 天前
Taro Webpack 5 编译过慢的解决方案
前端·webpack·小程序·taro
大米饭消灭者1 个月前
Taro是怎么实现一码多端的【底层原理】
微信小程序·taro
Dragon Wu1 个月前
记一次Taro v4集成tailwindcss踩坑
javascript·小程序·taro
GISer_Jing1 个月前
Taro全栈学习路线与实战指南:从基础语法到工程化、性能优化深度进阶
前端·react.js·taro