0

所以我正在尝试将美国驾照扫描到一个 javascript 浏览器应用程序(在 GWT 中)。许可证包含 LineFeed 字符,扫描程序通过发送 ctrl+J 将其发送到主机。

然而,这对大多数浏览器都不起作用,因为 ctrl+J 是浏览器快捷方式,因此我的 javascript 永远不会收到事件。

显然您可以使用 ADF(高级数据格式)来进行字符替换,但是您不能使用控制字符来执行此操作,因为在它们的配置工具中,您用来指定要替换的字符串的 UI 元素是一个文本字段,您可以'不要将控制字符放入文本字​​段。

我也尝试使用嵌入式驾驶执照扫描编程,但是当我尝试对其进行编程时,我的扫描仪总是发出错误的哔声,所以我也被困在那里。

有谁知道我该如何解决这个问题?我可以告诉浏览器关闭快捷方式吗?我可以让扫描仪进行控制字符替换吗?

任何帮助,将不胜感激。

4

1 回答 1

1

所以我现在正在做一个类似的项目,到目前为止我发现你可以使用 jQuery 至少阻止发送 CTRL+J、CTRL+6 和 CTRL+M 控制字符。

$(document).keydown(function(event) {
if((event.ctrlKey) && (event.which == 74) ){
    event.preventDefault();
} else if((event.ctrlKey) && (event.which == 54)){
    event.preventDefault();
} else if((event.ctrlKey) && (event.which == 77)){
    event.preventDefault();
}
});

我在http://jsfiddle.net/n8felton/CTTmu有这个工作。现在左边的框接受输入,右边的框显示正在发送的控制字符。

如果您对此有任何进一步的了解,我很想知道。我目前正在尝试弄清楚如何将 CTRL + J 更改为简单的换行符。

于 2013-07-01T18:49:40.693 回答