Javascript 用js检测Fn密钥
您好,我想知道是否可以用js捕获fn键。 我试图实现的是检测fn+f7按键 这是我的代码,不是用fn键触发的:Javascript 用js检测Fn密钥,javascript,keypress,Javascript,Keypress,您好,我想知道是否可以用js捕获fn键。 我试图实现的是检测fn+f7按键 这是我的代码,不是用fn键触发的: document.addEventListener("keydown", onKeyDown, false); function onKeyDown(e) { console.log(e); } 更新: 我发现检测fn+f5在windows上有效,但在linux上无效。 是否有为firefox添加媒体密钥的安装包?大多数FN密钥是在固件中实现的,不会被应用程序识别。您可以使用
document.addEventListener("keydown", onKeyDown, false);
function onKeyDown(e) {
console.log(e);
}
更新:
我发现检测fn+f5在windows上有效,但在linux上无效。
是否有为firefox添加媒体密钥的安装包?大多数FN密钥是在固件中实现的,不会被应用程序识别。您可以使用这样的网站来测试javascript可以处理什么:
当按下
fn
键时,您无法捕捉
但是,如果按fn+F7
,它将生成与单独按F7
-不同的事件
对象,因为该键绑定了函数。因此,在我的例子中,我没有在F7上绑定任何内容,因此,如果我按fn+F7
键,将不会生成任何事件
如果我按F3,然后按fn+F3,将生成以下代码:
KeyboardEvent {isTrusted: true, key: "F3", code: "F3", location: 0, ctrlKey: false, …}
KeyboardEvent {isTrusted: true, key: "AudioVolumeUp", code: "AudioVolumeUp", location: 0, ctrlKey: false, …}
希望这有帮助
----更多信息如下----
正如我所预料的那样,fn
key实际上不会生成任何keycode。相反,在硬件级别,当与其他一些键组合按下时,它会生成唯一的键码
基于此问题答案的信息:
这是:
试试这个
document.addEventListener("keydown", onKeyDown, false);
function onKeyDown(e) {
var x = e.keyCode;
if(x==118){
console.log('Your pressed Fn+F7');
}
}
谢谢。要查找按下的键:
var intKey=self.setInterval(onkeydown="findKey(event);",5000);
function findKey(e)
{
console.log("keyCode for the key pressed: " + e.keyCode + "\n");
}
还有另一种选择,它提供了更多关于不同键盘事件及其属性的信息。