jQuery keypress() - 获取所有字符,直到按下回车
jQuery keypress() - get all chars until enter is pressed
我正在尝试创建一个 keypress/keyup 从文档(而不是从输入字段)读取的函数 - 我打算将它用于条形码扫描设备。
函数
$(document).keyup(function(e) {
var barcode = e.which;
// the barcode should be without the enter at the end
if (e.keyCode == 13){
// stop reading
}
});
我对 javascript 和 jQuery 很陌生 - 你可能已经注意到了。
感谢您的帮助!
更新
这对我有用:
$(function(){
var barcode = '';
var getCode = function (e) {
if (e.which != 13) {
barcode += String.fromCharCode(e.which);
} else {
$(document).unbind('keyup', getCode);
console.log(barcode);
}
};
$(document).on('keypress', getCode);
// Barcode ausgeben
// Produktinfos ausgeben
$('span#articleID').text('articleID');
$('span#productName').text('productName');
});
谢谢大家!!
你在找这个吗?
$(document).keyup(function (e) {
if (e.keyCode == 13) {
console.log("Stopped");
e.preventDefault();
return false;
} else {
var barcode = e.which;
// the barcode should be without the enter at the end
$("#dvStatus").append("</br> " + e.key + " Key should be logged");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="dvStatus">
</div>
也许是这样的:
var BarCodeStr='';
document.onkeydown=function(e){
if (e.keyCode===13) {ProcessBarCodeStr(); BarCodeStr='';} else {BarCodeStr=BarCodeStr+e.keyCode;}
}
您可以考虑删除换行符 (\n)。在这种情况下,您会寻找:
$(document).keyup(function(e) {
//check for different types of newlines
var barcode = e.which.replace(/(\r\n|\n|\r)/gm,"");
if (e.keyCode == 13){
// stop reading
}
});
创建一个函数来绑定 keyup。按下回车后,解绑函数,保证代码不会再变了。
var barcode = '';
var getCode = function (e) {
if (e.which != 13) {
barcode += e.which;
} else {
$(document).unbind('keyup', getCode);
console.log(barcode);
}
};
$(document).on('keyup', getCode);
我正在尝试创建一个 keypress/keyup 从文档(而不是从输入字段)读取的函数 - 我打算将它用于条形码扫描设备。
函数
$(document).keyup(function(e) {
var barcode = e.which;
// the barcode should be without the enter at the end
if (e.keyCode == 13){
// stop reading
}
});
我对 javascript 和 jQuery 很陌生 - 你可能已经注意到了。
感谢您的帮助!
更新
这对我有用:
$(function(){
var barcode = '';
var getCode = function (e) {
if (e.which != 13) {
barcode += String.fromCharCode(e.which);
} else {
$(document).unbind('keyup', getCode);
console.log(barcode);
}
};
$(document).on('keypress', getCode);
// Barcode ausgeben
// Produktinfos ausgeben
$('span#articleID').text('articleID');
$('span#productName').text('productName');
});
谢谢大家!!
你在找这个吗?
$(document).keyup(function (e) {
if (e.keyCode == 13) {
console.log("Stopped");
e.preventDefault();
return false;
} else {
var barcode = e.which;
// the barcode should be without the enter at the end
$("#dvStatus").append("</br> " + e.key + " Key should be logged");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="dvStatus">
</div>
也许是这样的:
var BarCodeStr='';
document.onkeydown=function(e){
if (e.keyCode===13) {ProcessBarCodeStr(); BarCodeStr='';} else {BarCodeStr=BarCodeStr+e.keyCode;}
}
您可以考虑删除换行符 (\n)。在这种情况下,您会寻找:
$(document).keyup(function(e) {
//check for different types of newlines
var barcode = e.which.replace(/(\r\n|\n|\r)/gm,"");
if (e.keyCode == 13){
// stop reading
}
});
创建一个函数来绑定 keyup。按下回车后,解绑函数,保证代码不会再变了。
var barcode = '';
var getCode = function (e) {
if (e.which != 13) {
barcode += e.which;
} else {
$(document).unbind('keyup', getCode);
console.log(barcode);
}
};
$(document).on('keyup', getCode);