Javascript onkeydown百分比或五个数字
有没有办法确定用户是按了百分比键还是按了5?它在FireFox中具有相同的键码。您可以检查事件对象提供的修改器键<代码>事件。shiftKey用于您的特定用例。此外,还有事件的Javascript onkeydown百分比或五个数字,javascript,numbers,onkeydown,Javascript,Numbers,Onkeydown,有没有办法确定用户是按了百分比键还是按了5?它在FireFox中具有相同的键码。您可以检查事件对象提供的修改器键事件。shiftKey用于您的特定用例。此外,还有事件的event.altKey、event.ctrlKey和event.metaKey(适用于windows中的windows键和MAC键盘中的命令键)属性。 在代码示例中,您必须在keyCode处理程序内执行检查: var NUMBER_FIVE = 53; element.onkeydown = function (event) {
event.altKey
、event.ctrlKey
和event.metaKey
(适用于windows中的windows键和MAC键盘中的命令键)属性。
在代码示例中,您必须在keyCode处理程序内执行检查:
var NUMBER_FIVE = 53;
element.onkeydown = function (event) {
if (event.keyCode == NUMBER_FIVE) {
if (event.shiftKey) {
// '%' handler
} else {
// '5' handler
}
}
};
此外,当使用event.keyCode
时,您正在处理用户在键盘上按下的内容。如果要检查特定的ASCII字符,则可以改用event.charCode
,因为此事件属性告诉您用户输入的字符,而不是告诉您用户在键盘上按的字符 检查shiftKey值:
如果使用
向下键
,则5和%是相同的键代码。事件对象还有一个布尔属性,它将告诉您用户是否正在按住shift键
document.onkeydown = function (e) {
if (e.keyCode === 53) {
if (e.shiftKey) {
// they pressed %
} else {
// they pressed 5
}
}
};
如果要使用按键
,则它们是两种不同的键码:
document.onkeypress = function (e) {
if (e.keyCode === 53) {
// they pressed 5
}
if (e.keyCode === 37) {
// they pressed %
}
};
用于测试键码。我测试键码和输入字符的值
$(document).on({
keypress: function(event){
var charCode = (event.which) ? event.which : event.keyCode;
var mFive = String.fromCharCode(event.which);
if ((charCode == 53) && (mFive === "5")){
return true;
}else if ((charCode == 53) && (mFive !== "5")){
return false;
}
});
非常感谢。我不知道。我要去看看。这很有帮助,但我正在和另一个问题斗争。。。这是Alt Gr+4(两次)或这个字符。@user1729203您必须处理event.keyCode为100(num lock)和event.altKey为true。
$(document).on({
keypress: function(event){
var charCode = (event.which) ? event.which : event.keyCode;
var mFive = String.fromCharCode(event.which);
if ((charCode == 53) && (mFive === "5")){
return true;
}else if ((charCode == 53) && (mFive !== "5")){
return false;
}
});