【发布时间】:2013-07-25 11:58:11
【问题描述】:
我在玩这个script。
我注意到 Alt Gr 的 KeyCode 在 IE10 中是 17 而在 Chrome 中是 17 AND 18?
谁能解释为什么它不是 18(或一个全新的数字)以及为什么我在 Chrome 中看到两个弹出窗口?
代码如下:
document.onkeyup = KeyCheck;
function KeyCheck(e) {
var KeyID = (window.event) ? event.keyCode : e.keyCode;
alert(KeyID);
switch (KeyID)
{
case 18:
document.Form1.KeyName.value = "Alt";
break;
case 17:
document.Form1.KeyName.value = "Ctrl";
break;
}
}
这不是我的代码,我只是偶然发现的。
编辑:我相信 Alt Gr 意味着 Ctrl + Alt 有更多的乐趣时间,因为像 é 这样需要 Alt Gr 的一些东西也可以使用 Ctrl + Alt。
【问题讨论】:
-
AltGr===CTRL+ALT,尽管在您编辑之后看起来您已经知道了。当按下AltGr时,看起来Chrome触发器都被按下了。 -
有趣的是 chrome 怎么没说“勾选这个框来防止页面创建多个对话框”
-
创建警报的来源不同。如果您按两次相同的键,您将获得复选框。
-
您确定使用 IE 吗?我刚刚用 IE 和 Firefox 检查了它,我得到了 Alt 和 Ctrl(删除
alert,并将其更改为 append 到表单,第一个alert似乎停止了第二个onkeyup来自解雇)。 -
顺便说一句,你可能不依赖这个。在我使用德语键盘布局的 Linux 机器上,
AltGr是一个不同的键码,即 225 (Ctrl: 17,Alt: 18)。
标签: javascript keycode