我正在尝试在javascript浏览器应用中处理来自条形码扫描仪的输入.扫描仪输出是一串字符,其中还包含至少一个组分隔符(ASCII 29).
当我将输入指向ie notepad ++时,输入会正确显示,包括Group Separator字符.当我将输入定向到<input type="text">html字段时,组分隔符对象丢失; 它既不在现场可见,也不能用javascript代码检测到.
<input type="text">对象是否截断ASCII控制字符?知道如何避免这种情况吗?
编辑: 我使用的代码类似于Raidox的答案来实现这个目的:
inputField.onkeypress = catchGroupSeparatorAndEnter;
var fncChar = String.fromCharCode(29);
function catchGroupSeparatorAndEnter(event) {
if (event.ctrlKey && event.which === 29) {
inputField.value = inputField.value + fncChar;
event.preventDefault();
event.stopPropagation();
}
...
}
Run Code Online (Sandbox Code Playgroud)
这似乎适用于Chrome和Edge,但不适用于Firefox.我不知道如何让它在那里工作.
例如,我有一个文本框,我输入12000,我希望它在文本框中看起来像12,000我将如何做到这一点?我用html来做文本框