当使用jQuery文档中的示例代码来生成keypress事件处理程序时,我无法捕获Delete密钥.在FireFox中按下键0
时,下面的代码段会记录Delete:
$(document).keypress(function(e) {
console.log(e.which);
});
Run Code Online (Sandbox Code Playgroud)
似乎必须有一种方法来捕捉Delete密钥,但这是一个含糊不清的术语,因此谷歌并没有证明对它有很大的帮助.
Phi*_*ert 191
您不应该使用该keypress
事件,而应该使用keyup
or keydown
事件,因为该keypress
事件适用于真实(可打印)字符.keydown
在较低级别处理,因此它将捕获所有非打印键,如delete和enter.
小智 79
$('html').keyup(function(e){
if(e.keyCode == 46) {
alert('Delete key released');
}
});
Run Code Online (Sandbox Code Playgroud)
来源:javascript char代码来自www.cambiaresearch.com的密码
cso*_*maz 32
Javascript密钥代码
除了这个细节,科林和托德的答案正在发挥作用.
Gib*_*olt 10
更新,更清洁:使用event.key
.没有更多的任意数字代码!
document.addEventListener('keydown', function(event) {
const key = event.key; // const {key} = event; ES6+
if (key === "Delete") {
// Do things
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
116782 次 |
最近记录: |