是否可能触发不在输入或文本区域标记中的javascript按键事件?

是否可能触发不在输入或文本区域标记中的javascript按键事件?,javascript,events,keypress,Javascript,Events,Keypress,我想知道是否可以触发JavaScript按键事件,但不能在input out textarea标记中触发 我想实现的是,当用户按下页面上任意一个键时,会出现一个警告,提示用户:您按下了一个键 这是我的密码: 我不确定事件侦听器要使用还是应该放在哪里。当然可以,只需将按键事件处理程序委托给文档: 函数pushbtn(事件){ //检索按下的键的键代码: var keycode=event.keycode, //查找生成的字母,使用 //String.fromCharCode(): key=Str

我想知道是否可以触发JavaScript按键事件,但不能在input out textarea标记中触发

我想实现的是,当用户按下页面上任意一个键时,会出现一个警告,提示用户:您按下了一个键

这是我的密码:


我不确定事件侦听器要使用还是应该放在哪里。

当然可以,只需将
按键
事件处理程序委托给
文档

函数pushbtn(事件){
//检索按下的键的键代码:
var keycode=event.keycode,
//查找生成的字母,使用
//String.fromCharCode():
key=String.fromCharCode(keycode);
log('您按了'+key+'(keyCode:'+keyCode+'));
}
文件。添加了监听器(“按键”,按钮编号)
body,
html{
高度:100vh;
宽度:100vw;
保证金:0;
背景色:#f00;
}
也许:

document.onkeypress = function(event){

if(event.keyCode == 32){
document.write("Space key pressed");
};

};
当然,您可以根据所需的键更改键码,如果您不在乎按下了哪个键,也可以删除整个键码部分


希望有帮助;)

您可以通过在文档上添加事件侦听器来实现这一点

函数pushbtn(事件){
var x=event.charCode;//不是keyCode
警报(“您按下“+x”);
}
//在文档上添加事件列表器

文件。添加了监听器(“按键”,按钮编号)将整个文档添加为事件目标,然后将其附加到JavaScript或jQuery keypress事件侦听器

$(document).keypress(function() {
   alert("You pressed a key!");
});

向上投票,但这似乎有点过时:根据MDN的说法,
keypress
事件被弃用,取而代之的是
keydown
和/或
keypup
。此外,MDN声明,
event.keyCode
被弃用,取而代之的是
event.key
$(document).keypress(function() {
   alert("You pressed a key!");
});