我有一个运行 Android 4.4.4 的条码扫描器(honeywell ct50)的页面, 当输入文本框处于焦点上时,软键盘会自动弹出。 有什么办法可以隐藏吗? 我已阅读建议,主要是使输入失去焦点或只读, 但我需要将注意力集中在输入上以读取条形码。
我试过了 1. 在onfocus 事件中执行event.preventDefault() 不起作用。 2. 获取document.keypress() 上的条码,帖子中的解决方案如下,但我的扫描仪没有任何结果。 javascript - hide mobile default keyboard but keep input field active
欢迎提出任何想法。
最佳答案
老话题,但这是至少适用于 android 6 和 7 的解决方案:
yourInput = document.getElementById('yourInputElement');
yourInput.readOnly = true;
yourInput.focus();
setTimeout(function(){document.getElementById('yourInputElement').readOnly = false;}, 50);
您将输入放在焦点之前的 readOnly = true 中。
键盘不会出现。
然后您将输入放回 readOnly = false 但不是立即放回。
因此,您可以在不弹出键盘的情况下使用扫描仪。
关于javascript - 如何隐藏软键盘并保持输入焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48635501/