【发布时间】:2013-12-09 08:19:44
【问题描述】:
我有一个 HTML 输入字段,例如
<input type="text" name="TextBox1" id="TextBox1">
我想防止使用键盘打字和使用鼠标粘贴,同时只允许输入来自 USB 条形码阅读器的输入。 我尝试使用:
$( document ).ready(function() {
$('#TextBox1').keydown(function(e) {
if ($(e.target).is('input, textarea')) {
e.preventDefault();
}
});
});
但它会阻止来自每个来源的输入,包括 USB 条形码扫描仪。
有什么建议吗?有可能吗?
【问题讨论】:
-
为什么不结合用户输入和条形码输入呢?如果您找到条形码,例如添加产品。如果没有,请搜索您的产品。
-
PS:我希望你明白你的 js 代码不会保证输入的来源? Zsolt Szilagy 提到的一些迹象,如低输入延迟(不确定它是否不会立即粘贴整个代码)可用于区分用户输入和扫描仪,但这并不意味着用户不能解决您在客户端的限制。事实上,任何人都可以轻松地做到这一点,所以不要将其用作验证。
标签: javascript html javascript-events jquery