在JavaScript / jQuery中捕获Ctrl-Alt-Del

时间:2010-05-11 03:08:26

标签: javascript jquery

在玩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");
        }
    });
});

是否可以将所有这三个键一起捕获?

4 个答案:

答案 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是未被发现。