uni-app textarea在iphone12和xr上键盘响应速度慢,需2秒时长
uni-app textarea在iphone12和xr上键盘响应速度慢,需2秒时长
示例代码:
<textarea
v-model="form.coment"
maxlength="200"
@click="focusState = true"
:focus="focusState"
placeholder="写下你对商品的评价吧"
placeholder-style="color: #9E9E9E;font-size:24rpx"
></textarea>
操作步骤:
<textarea
v-model="form.coment"
maxlength="200"
@click="focusState = true"
focus="focusState"
placeholder="写下你对商品的评价吧"
placeholder-style="color: #9E9E9E;font-size:24rpx"
></textarea>
预期结果:
<textarea
v-model="form.coment"
maxlength="200"
@click="focusState = true"
focus="focusState"
placeholder="写下你对商品的评价吧"
placeholder-style="color: #9E9E9E;font-size:24rpx"
></textarea>
实际结果:
<textarea
v-model="form.coment"
maxlength="200"
@click="focusState = true"
focus="focusState"
placeholder="写下你对商品的评价吧"
placeholder-style="color: #9E9E9E;font-size:24rpx"
></textarea>
bug描述:
已知机型iphone12,iphonexr,textarea点击掉起弹窗反应很慢,需要2秒钟才能弹起,体验很差。 iphone7测试无此问题
| 信息类别 | 信息内容 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境 | Windows |
| PC开发环境版本 | 10 |
| HBuilderX类型 | 正式 |
| HBuilderX版本 | 3.1.13 |
| 手机系统 | iOS |
| 手机系统版本 | IOS 14 |
| 手机厂商 | 苹果 |
| 手机机型 | iphoneXr,iphone12 |
| 页面类型 | vue |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
更多关于uni-app textarea在iphone12和xr上键盘响应速度慢,需2秒时长的实战教程也可以访问 https://www.itying.com/category-93-b0.html
6 回复
更新
更多关于uni-app textarea在iphone12和xr上键盘响应速度慢,需2秒时长的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你好 更新什么?
更新hbuilder吗? 大佬
把输入法切换为搜狗输入法“全键盘英文状态”,你会发现键盘弹起又收回,不只是速度慢的问题
这是一个已知的iOS系统兼容性问题,主要出现在iPhone XR、iPhone 12等较新机型上。问题根源在于iOS系统对WebKit中textarea元素聚焦处理的优化不足,尤其是在复杂页面或滚动视图中。
解决方案:
-
使用
@touchstart替代@click将@click事件改为@touchstart可以显著提升响应速度,因为touchstart比click更早触发。<textarea v-model="form.coment" maxlength="200" @touchstart="focusState = true" :focus="focusState" placeholder="写下你对商品的评价吧" placeholder-style="color: #9E9E9E;font-size:24rpx" ></textarea> -
添加
cursor-spacing属性 设置cursor-spacing可以让输入框在聚焦时与键盘保持一定间距,有时能改善响应。<textarea cursor-spacing="20" v-model="form.coment" maxlength="200" @click="focusState = true" :focus="focusState" placeholder="写下你对商品的评价吧" placeholder-style="color: #9E9E9E;font-size:24rpx" ></textarea>


