在玩jQuery / JavaScript时我遇到了这个问题。我可以捕获 Alt 和 Ctrl 键,但不能 Del ,当然也不是所有这些键。
$(document).ready(function() {
$("#target").keydown(function(event) {
if (event.ctrlKey && event.altKey && event.keyCode == '46') {
alter("Ctrl-Alt-Del combination");
}
});
});
是否可以将所有这三个键一起捕获?
答案 0 :(得分:10)
我不确定其他操作系统,但我知道在Windows上, Ctrl + Alt + Del 是一个系统击键,在顶级截获,始终由Windows。据我所知,它并没有从那里进一步传递,让你知道从它发出的任何东西都是正式的。
我知道对于Gnome(我相信KDE),点击它会拉出关闭对话框,因此被窗口管理器捕获,而不是传递。
所以,除非Mac忽略它,否则,由于它对操作系统的魔力,你无法得到那个特定的组合。
编辑:我注意到的是,您的代码中有alter
而不是alert
。我不认为它会像这样工作。
答案 1 :(得分:2)
我不认为这是可能的。
您可以看到,通过键盘或鼠标或任何IO设备,各种用户输入都以消息的形式通过Windows传递给您的应用程序。但是,有一些专用消息在Windows操作系统级别捕获和处理。 Ctrl + Alt + Del 就是这样一种操作。 Windows不会再传递此消息。
答案 2 :(得分:1)
答案 3 :(得分:1)
搜索后,我发现了这一点,http://www.quirksmode.org/js/keys.html 它基本上说不同的浏览器和不同的操作系统将获得del键的不同行为。如果在Windows上使用 Alt + Ctrl + Del ,则Windows会在检测到之前显示任务管理器,这会失去焦点C + A + D是未被发现。