【发布时间】:2018-07-24 20:32:40
【问题描述】:
我有一个在后台伪装的输入框。基本上,我正在为 Honeywell CT50 设备开发一个应用程序,它使用激光扫描来扫描条形码和二维码。由于激光扫描仪需要一个输入框来包含条形码的值,一旦扫描,作为焦点输入框的默认行为,键盘就会出现在手机屏幕上。我不希望键盘出现,因为扫描仪正在读取该值。我正在使用 angular 6 开发应用程序。由于键盘从屏幕底部弹出,我也面临一些有关垂直滚动的问题。
我尝试使用以下方法隐藏键盘:
<input #barcodeInput onfocus='blur()'>
以上都行不通。
然后我尝试了以下方法:
@ViewChild('barcodeInput') barcodeInput: ElementRef;
this.barcodeInput.nativeElement.dismissSoftInput();
上面的也不行。
我卡住了,无法继续。当我加载特定组件时,我必须隐藏键盘,将注意力集中在隐藏的输入框上,这样激光扫描仪就可以在没有任何点击的情况下工作,然后在处理完隐藏文本框的值后清除该值。
请给我一个解决方案!
【问题讨论】:
-
只使用
<input type="hidden">怎么样?这些输入是如何使用的?这是通过<form>还是通过 AJAX 完成的?您将无法阻止键盘通过文本输入焦点弹出。 -
或者,考虑这里使用的解决方案:stackoverflow.com/q/7610758/691711
标签: javascript angular angular6 honeywell