JavaScript 退格键无效
JavaScript Backspace Keycode doesn't work
Backspace 的键码不起作用我在 IE 和 Google Chrome 中尝试过它,但它在控制台和警报代码中都没有显示任何内容代码:
$(document).keypress(function(e) {
console.log(e.which);
if (e.which == 13) {
window.alert("enter");
} else if (e.which == 8) {
window.alert("backspace");
} else {
$("#prompt").append(String.fromCharCode(e.which));
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
keyPress
事件仅针对字符(可打印)键调用,keyDown
事件针对所有键引发,包括不可打印的
$(document).keydown(function(e) {
console.log(e.which);
if (e.which == 13) {
window.alert("enter");
} else if (e.which == 8) {
window.alert("backspace");
} else {
$("#prompt").append(String.fromCharCode(e.which));
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
按键事件仅在可打印键上触发。要打印任何键,您需要使用 onkeydown 事件。它针对所有对象引发,包括不可打印的内容,例如 Control、Shift、Alt、BackSpace 等。在此处阅读有关它们 onkeydown 事件的更多信息:https://api.jquery.com/keydown/
这是结果的示例:
$(document).keydown(function(e) {
使用keyup
代替keypress
得到所有的键码
$(document).keyup(function(e) {
console.log(e.which);
if (e.which == 13) {
window.alert("enter");
} else if (e.which == 8) {
window.alert("backspace");
} else {
$("#prompt").append(String.fromCharCode(e.which));
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
您应该使用 keyup
而不是 keypress
事件,因为某些键(例如退格键)不会触发该事件。
$(document).keyup(function(e) {
console.log(e.which);
if (e.which == 13) {
window.alert("enter");
} else if (e.which == 8) {
window.alert("backspace");
} else {
$("#prompt").append(String.fromCharCode(e.which));
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Backspace 的键码不起作用我在 IE 和 Google Chrome 中尝试过它,但它在控制台和警报代码中都没有显示任何内容代码:
$(document).keypress(function(e) {
console.log(e.which);
if (e.which == 13) {
window.alert("enter");
} else if (e.which == 8) {
window.alert("backspace");
} else {
$("#prompt").append(String.fromCharCode(e.which));
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
keyPress
事件仅针对字符(可打印)键调用,keyDown
事件针对所有键引发,包括不可打印的
$(document).keydown(function(e) {
console.log(e.which);
if (e.which == 13) {
window.alert("enter");
} else if (e.which == 8) {
window.alert("backspace");
} else {
$("#prompt").append(String.fromCharCode(e.which));
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
按键事件仅在可打印键上触发。要打印任何键,您需要使用 onkeydown 事件。它针对所有对象引发,包括不可打印的内容,例如 Control、Shift、Alt、BackSpace 等。在此处阅读有关它们 onkeydown 事件的更多信息:https://api.jquery.com/keydown/ 这是结果的示例:
$(document).keydown(function(e) {
使用keyup
代替keypress
得到所有的键码
$(document).keyup(function(e) {
console.log(e.which);
if (e.which == 13) {
window.alert("enter");
} else if (e.which == 8) {
window.alert("backspace");
} else {
$("#prompt").append(String.fromCharCode(e.which));
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
您应该使用 keyup
而不是 keypress
事件,因为某些键(例如退格键)不会触发该事件。
$(document).keyup(function(e) {
console.log(e.which);
if (e.which == 13) {
window.alert("enter");
} else if (e.which == 8) {
window.alert("backspace");
} else {
$("#prompt").append(String.fromCharCode(e.which));
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>