html控制字符,javascript – ASCII控制字符html输入文本

过去一周我一直在努力工作,今天我终于取得了突破.我不知道您的条形码扫描仪是如何工作的,但我们的行为类似于USB键盘并发送单独的按键.它确实发送了[GS]的按键,但该事件会被浏览器自动取消.因此它永远不会到达输入事件,这是将字符添加到输入的事件.我无法找到一种方法来阻止它取消,但你可以通过在keypress事件中手动添加字符来解决这个问题.

我不知道你正在为你的应用程序使用什么框架,但我能够通过将它构建为自定义指令来使用它来使用AngularJS.下面的示例只是vanilla JavaScript,但您应该能够将它实现到您可能正在使用的任何框架中.

香草JavaScript示例

Control Character Test

document.getElementById('tacos').addEventListener('keypress', function(e) {

if (e.charCode === 29) {

this.value += String.fromCharCode(e.which);

}

});

您可以将上面的代码保存到HTML文件中,以测试此方法是否适用于条形码扫描程序.如果这不起作用,另一个值得探索的可能性是重新编程条形码扫描器以发送每个按键,然后这种方法应该工作.

另一个相关行为

在我的研究中,我还发现,如果输入同时与其他字符一起发送,则输入会接受这些字符.例如,我们有另一个条形码扫描器,它将条形码数据作为一个事件发送.浏览器使用[GS]字符接受此输入.您也可以使用复制/粘贴执行此操作.您可能会利用此行为来获得您想要的内容.

浏览器问题

值得记住的是,由于您使用的浏览器,您可能还会遇到这些方法中的任何一种问题.我们一次性发送数据的条形码扫描仪是一个Android设备.它有2个浏览器,chrome和专有浏览器. [GS]字符显示为铬,但不是专有浏览器.

希望这可以帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值