如何隐藏软键盘并保持输入焦点

Cha*_*eng 5 javascript mobile android google-chrome barcode-scanner

我有一个运行Android 4.4.4的条形码扫描仪(honeywell ct50)的页面,当输入文本框处于焦点时,软键盘会自动弹出.是否有任何解决方案可以隐藏它?我已经阅读过建议,主要是让输入失去焦点或只是读取,但我需要将注意力集中在读取条形码的输入上.

我试过1.在onfocus事件中执行event.preventDefault(),它不起作用.2.获取document.keypress()上的条形码,如下所示的帖子中的解决方案,但没有从我的扫描仪获得. javascript - 隐藏移动默认键盘但保持输入字段处于活动状态

欢迎任何想法.

小智 5

老话题,但这是至少适用于 android 6 和 7 的解决方案:

yourInput = document.getElementById('yourInputElement');
yourInput.readOnly = true;
yourInput.focus();
setTimeout(function(){document.getElementById('yourInputElement').readOnly = false;}, 50);
Run Code Online (Sandbox Code Playgroud)

您将输入放在焦点之前的 readOnly = true 中。
键盘将不会出现。
并且您将输入放回 readOnly = false 但不是立即放回。
因此,您可以在不弹出键盘的情况下使用扫描仪。


小智 1

对我来说,在某些时候有效的是将 ion-input type="text" 设置为只读,但现在设置该属性时它不起作用。也许可以尝试一下。