如何取消键盘上特定键的keydown
,例如HTML页面中的(空格,Enter和arrows
)。
最佳答案
如果您仅对提到的示例键感兴趣,则keydown
事件将起作用,但需要取消keypress
事件的Opera的较早的,预眨眼的Opera版本(至少包括12版)除外。 。在keydown
事件中可靠地标识不可打印的键要比keypress
事件容易得多,因此以下内容在keydown
处理程序中使用一个变量来设置,以告知keypress
处理程序是否取消默认行为。
var cancelKeypress = false;
document.onkeydown = function(evt) {
evt = evt || window.event;
cancelKeypress = /^(13|32|37|38|39|40)$/.test("" + evt.keyCode);
if (cancelKeypress) {
return false;
}
};
/* For Opera */
document.onkeypress = function(evt) {
if (cancelKeypress) {
return false;
}
};
关于javascript - 取消HTML中的keydown,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3036243/