longPress后,焦点input弹出键盘的问题
我有这样的一个需求,长按某个按钮后弹出自定义modal层,modal内有一个input,想要在弹出的同时focus到input上弹出键盘。
代码简化大致如下
<template> <view wx:if="{{needShow}}"> <input type="text" focus placeholder='默认文字'/> </view> <view [@longpress](/user/longpress)='longpress' style="margin-top:100px;"> 长按我锁定 </view> <view [@tap](/user/tap)='hide' style="margin-top:100px;"> 单击隐藏 </view></template>data = { needShow: false }methods = { longpress() { console.log('长按') this.needShow = true; }, hide() { this.needShow = false; } } |
我碰到的问题是:
长按后input的确获得了焦点,但是当我的手抬起后,键盘收回(Android下必然如此,iOS抬起时间稍早则不会),而我不希望键盘因为抬起的操作被收回。
尝试过catch方法防止冒泡,在modal层加遮罩并且也catch所有方法防止击穿,但在我手未抬起之前,我任然可以操作modal层下方的页面,只有抬手后再次放下才能被catch到。
微信均为最新版本,iOS和Android下均有这样的问题。
望解答 感谢
