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



相关推荐
光影少年1 天前
AIGC + Taro / 小程序
小程序·aigc·taro
菜鸟una1 天前
【微信小程序+Taro 3+NutUI 3】input (nut-input) 、 textarea (nut-texteare)类型使用避坑
前端·vue.js·微信小程序·小程序·taro
GISer_Jing11 天前
一次编码,七端运行:Taro多端统一架构深度解析与电商实战
前端·aigc·taro
光影少年1 个月前
rn如何和原生进行通信,是单线程还是多线程,通信方式都有哪些
前端·react native·react.js·taro
杨进军1 个月前
模拟 Taro 实现编译多端样式文件
前端·taro
GISer_Jing1 个月前
Taro跨端开发实战:JX首页实现_Trae SOLO构建
前端·javascript·aigc·taro
GISer_Jing1 个月前
Taro打造电商项目实战
前端·javascript·人工智能·aigc·taro
浅箬1 个月前
Taro3的H5项目在Android、IOS 中因为兼容性问题导致的白屏问题
android·团队开发·taro
GISer_Jing1 个月前
Taro跨端开发实战:核心原理与关键差异解析
前端·javascript·taro
GISer_Jing2 个月前
深入拆解Taro框架多端适配原理
前端·javascript·taro