rainysky252 2021-06-25 13:38 采纳率: 0%
浏览 100
已结题

混合开发:Android webwiew内调用input.focus()有概率无法弹出软键盘

需求是在Webwiew内,点击一个非输入框的组件,拉起软键盘并处理输入内容。输入框本身不可见。

我的实现方式是在js里监听一个canvas的touchend事件,事件处理里调用另一个input组件的focus()方法(input组件位置放到页面外),可以实现需求。但是有时会出现软键盘无法拉起的情况,反复点击也无法弹出。

在问题现场下,我在另一个按钮的点击事件里打印document.activeElement.id,跟input组件的id一致,说明貌似焦点是有成功设置到input上的,但是输入框上并没有出现选中效果,软键盘也没有弹出。

尝试过先blur再focus,延时调用focus,都不能解决问题。

重现方式还不确定,反复切换前后台,关开应用后,有概率出现,概率并不太低。

请教大佬如何解决该问题,或者如果无解的话是否有替代方案实现该需求,非常感谢。

  • 写回答

3条回答 默认 最新

  • JioWu 2021-06-30 17:49
    关注

    可以尝试下让安卓原生去强制弹出软键盘,通过JS交互

    评论

报告相同问题?