uniapp textarea与input失焦聚焦兼容性问题(安卓)
问题:点击输入框显示删除按钮,使用获取输入框聚焦事件,然后显示删除,失去焦点隐藏删除按钮这个只有在安卓上面才有,电脑和苹果显示都是没有问题解决思路:跳出失焦、聚焦事件的思维,使用点击事件,给大盒子设置全屏点击事件,然后阻止冒泡,1.将 输入框 和 文本域 改成点击事件,点击时显示,点击全屏其他地方隐藏2.注意:不仅仅适用于显示按钮,只要涉及失焦、聚焦textarea与input有兼容,就可以换一种
·
问题:点击输入框显示删除按钮,使用获取输入框聚焦事件,然后显示删除,失去焦点隐藏删除按钮
这个只有在安卓上面才有,电脑和苹果显示都是没有问题
解决思路:
跳出失焦、聚焦事件的思维,使用点击事件,给大盒子设置全屏点击事件,然后阻止冒泡,
1.将 输入框 和 文本域 改成点击事件,点击时显示,点击全屏其他地方隐藏
2.
<view class="address_box" :style="{'--global_color':global_color}" @tap.stop="viewTap">
<view class="address_info">
<view class="info_name">
<text>收货人</text>
<input :class="iscolName?'fw':''" type="text" placeholder="请输入收货人姓名"
placeholder-style="color:#999999;font-weight: 400;" maxlength="25"
v-model.trim="addressList.consignee" @tap="clickName" @input.stop="keyboardName"
@blur="loseNamefocus" />
<view @click="clear(0)" v-if="isNamedelete">
<image src="../../static/image/address/delete.png"></image>
</view>
</view>
<view class="info_iphone">
<text>手机号码</text>
<!-- placeholder-class="phcolor" -->
<input :class="iscolIphone?'fw':''" type="number" maxlength="11" placeholder="请输入收货人手机号码"
@blur="loseIphonefocus" placeholder-style="color:#999999;font-weight: 400;"
v-model.number="addressList.mobile_number" @tap="clickTel" @input.stop="keyboardIphone" />
<view @click="clear(1)" v-if="isIphonedelete">
<image src="../../static/image/address/delete.png"></image>
</view>
注意:
clickAddress() {
setTimeout(_ => {
if (this.addressList.address != '') {
this.isTextareadelete = true
this.isIphonedelete = false
this.isNamedelete = false
}
}, 50)
},
// 详细地址 监听键盘输入
ketarea(e) {
if (e.detail.value !== '') {
this.isTextareadelete = true
} else {
this.isTextareadelete = false
}
},
不仅仅适用于显示按钮,只要涉及失焦、聚焦textarea与input有兼容,就可以换一种思路,不用失焦聚焦事件,改成点击事件!
更多推荐
已为社区贡献1条内容
所有评论(0)