我试图在浏览器中释放CTRL + F时检测CTRL键的“key up”事件。我试过这个:
$(document).keyup(function(e){
if (e.ctrlKey){ // note that I'm not even checking for the F key here
console.log("CTRL up");
}
});
但它不起作用,事件未被触发。我怎么能这样做?
答案 0 :(得分:1)
如果您正在使用jQuery,您可以随时执行:
$(document).keydown(function(e) {
if(e.ctrlKey && (e.keyCode === 70 || e.keyCode === 102)) // f or F
alert("Ctrl+F was pressed!!");
});
来自您的代码:
keyup
,到那时浏览器已经触发了自己的事件,而且事件永远不会再次冒泡到文档中,至少应该使用keydown
答案 1 :(得分:0)
e.ctrlKey
在keyUp事件上返回false,在keyDown上返回true。您可以测试(e.keyCode === 17)
条件。
答案 2 :(得分:0)
你非常接近。我总是觉得输出e
变量最简单,以便查看确切的内容并从那里过滤掉。
请参阅我的jsfiddle了解一个有效的例子。
$(document).keyup(function (e) {
if(e.originalEvent.key == 'Control') {
console.log("CTRL keyup event.");
}
});