uniapp微信小程序 实现评论键盘弹出的时候 有两个输入框,第一个输入框被禁用并绑定了点击事件,点击后想要触发第二个输入框获取焦点并弹出键盘。但是在 iOS 真机上点击后键盘会短暂失去焦点

这篇具有很好参考价值的文章主要介绍了uniapp微信小程序 实现评论键盘弹出的时候 有两个输入框,第一个输入框被禁用并绑定了点击事件,点击后想要触发第二个输入框获取焦点并弹出键盘。但是在 iOS 真机上点击后键盘会短暂失去焦点。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题:我现在有一个需求就是 要实现输入评论  有两个输入框,第一个输入框被禁用并绑定了点击事件,点击后想要触发第二个输入框获取焦点并弹出键盘。但是在 iOS 真机上点击后键盘会短暂失去焦点  安卓真机测试没有问题

原因

1. iOS 上输入框聚焦有一个显式的动画过程,如果过快失去焦点会导致动画未完成就被打断,从而键盘会闪现又消失的情况。

2. 你的点击事件回调中可能直接触发了第二个输入框失去焦点的逻辑,比如调用了 uni.hideKeyboard() 方法。

3. iOS 的键盘有一个晃动检测的机制,如果短时间内聚焦状态频繁切换,会认为是程序错误导致的无意聚焦,会自动还原。

4. 两个输入框的父容器有渲染问题,导致输入框的位置计算错误,无法正确显示键盘。

5. 你的点击事件回调函数做了页面跳转或组件重新渲染的操作,导致输入框被重新创建,无法维持焦点状态。

我的解决方法
由于我这里出现的问题 是第二个input框聚焦了 然后又马上失焦 然后我考虑可能是第三条的原因 因为我点击第一个input框后就切换了第二个input框的聚焦状态 这里可能切换太快 然后就给改变状态的地方加上了一个定时器 问题就解决啦

代码:

<view class="feature_Input">
						<image src="https://img.icons8.com/metro/26/878787/edit-property.png" mode=""></image>
						<input :adjust-position="false" placeholder="请输入内容"  @click="clickPopup" show-confirm-bar = false disabled="true" />
				</view>
				<view  class="message-input" :style="{bottom:inputBottom + 'px'}">
						<view class="textarea_box">
							<view class="mes_textarea"> 
								<textarea
								 :adjust-position="false"
								 cursor-spacing="20"
								 :value='inputText'
								 :style="{ width: textareaWidth + 'rpx'}"
								 maxlength="200"
								 type="text"
								 placeholder-class="input-placeholder"
								 :placeholder="commentPlaceholder.placeholder"
								 @focus="textareaFocus"
								 @input="changeValue"
								 @blur="textareaBindBlur"
								 :show-confirm-bar = false
								 behavior="height" 
								 :focus = "focusText"
								 auto-height/>
								 <view class="textarea_symbol" :style="{width:symbolWidth}">
								 	<view class="" :style="{'justify-content': symbolContent}">
								 		<image src="../../static/icon/aite_1.png" mode=""></image>
								 		<image src="../../static/icon/weixiao_1.png" mode=""></image>
								 		<image src="../../static/icon/tupian_1.png" mode=""></image>
								 	</view>
								 </view>
							</view>
							 <button @click="sendmsg">发送</button>
						</view>
						<KeyboardHeight></KeyboardHeight>
				</view>

js文章来源地址https://www.toymoban.com/news/detail-760824.html

clickPopup(state){
				console.log('点啦--------');
				this.inputBottom = 0
				this.replyId = 0
				this.sign = 1
				this.commentPlaceholder = {
					userId:this.itemData.f_openid,
					placeholder:'说点什么呢~',
				}
				setTimeout(()=>{
					 this.focusText = true
				},100)
				console.log('focusText状态',this.focusText);
			},

到了这里,关于uniapp微信小程序 实现评论键盘弹出的时候 有两个输入框,第一个输入框被禁用并绑定了点击事件,点击后想要触发第二个输入框获取焦点并弹出键盘。但是在 iOS 真机上点击后键盘会短暂失去焦点的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序----键盘弹出挡住输入框问题解决方案

    微信小程序键盘弹出挡住输入框问题解决方案 问题:微信小程序聊天输入框点击后,键盘弹出挡住输入框 解决办法: 1、给输入框添加一个 bindkeyboardheightchange 事件,获取键盘的高度 2、给发送消息的盒子一个bottom bottom 为监听到的键盘的高度 效果图:

    2024年03月27日
    浏览(104)
  • iOS微信小程序键盘弹出时输入框被挡住

    1. 背景: 底部输入框采用fixed定位后,在iPhone13这种有底部安全区的手机上,键盘弹出时被遮挡,在安卓机上是正常的。 2. 查找问题: 看了网上的解决方案说设置“adjust-position”,试了一下没效果,本来现在这个属性也是默认为true的,看网上另一个解决方案就是判断键盘弹

    2024年02月12日
    浏览(35)
  • uniapp 微信小程序仿抖音评论区功能,支持展开收起

    最近需要写一个评论区功能,所以打算仿照抖音做一个评论功能,支持展开和收起, 首先我们需要对功能做一个拆解,评论区功能,两个模块,一个是发表评论模块,一个是评论展示区。接下来对这两个模块进行详细描述。 使用到的技术 uniapp  uview2.0   文章最后我会贴上全

    2024年02月10日
    浏览(39)
  • 【微信小程序 uniapp】 ws-wx-privacy 微信隐私保护弹出框 隐私协议弹出框

    插件地址 (https://mp.weixin.qq.com/wxamp/basicprofile/index?token=1956320193lang=zh_CN) 4. 将调试基础库改为 3.0.0以上。 微信开发者工具-详情-本地设置-调试基础库 5. 页面 使用示例 仅有在指引中 声明所处理的用户信息 ,才可以调用平台提供的对应接口或组件。若未声明,对应接口或组件将

    2024年02月08日
    浏览(38)
  • uniapp微信小程序 401时重复弹出登录弹框问题

    APP.vue 登陆成功后,保存登陆信息 退出登录 http.js

    2024年02月14日
    浏览(46)
  • 使用inputmode改变移动端键盘弹出的类型

    使用原因:需求是同时兼容移动端和PC端的输入,输入框数量多且绑定不同的对象,原本考虑使用vantUI的数字键盘,但是实际使用起来问题比较多,偶然间发现了inputmode这个属性,它可以改变移动端唤起拟态键盘的方式。 可以直接查看官网说明 提示:以下是本篇文章正文内容

    2024年02月16日
    浏览(25)
  • 微信小程序 内容评论-回复评论-回复回复的实现(纯前端)

    输入框失去焦点时触发 如果你是点击输入框右边按钮才发送内容的话需要在输入框bindinput属性绑定以下方法获取用户输入的值

    2024年02月04日
    浏览(31)
  • 微信小程序实现气泡弹出框

    这个组件可以实现 引用别人的组件,上面github可以很好的实现气泡弹窗效果 show:function(){ //如果show值为true,则更改为false 反之设置true if(this.data.show){ this.setData({ show:false }) }else{ this.setData({ show:true }) } }, he(){ console.log(“sadasdd”) this.setData({ show:!this.show }) wx.navigateTo({ url: ‘/p

    2024年02月09日
    浏览(36)
  • springboot+websocket+微信小程序实现评论区功能

    1. 什么是WebSocket? WebSocket 是 HTML5 一种新的协议。它实现了浏览器与服务器 全双工通信 ,能更好的节省服务器资源和带宽并达到实时通讯,它建立在 TCP 之上,同 HTTP 一样通过 TCP 来传输数据,但是它和 HTTP 最大不同是: WebSocket 是一种 双向通信协议 ,在建立连接后,WebSo

    2024年04月16日
    浏览(22)
  • 微信小程序毕业设计作品成品(68)微信小程序电视剧电影影视评论系统设计与实现

    博主介绍: 《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版

    2024年02月08日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包