我正在玩这个script。
我注意到IE5中 Alt Gr 的KeyCode 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 。
答案 0 :(得分:4)
问题是alert
停止执行代码,因此不会调用第二个onkeyup
。通过将功能更改为
function KeyCheck(e)
{
var KeyID = (window.event) ? event.keyCode : e.keyCode;
switch(KeyID)
{
case 18:
document.Form1.KeyName.value = document.Form1.KeyName.value+"Alt";
break;
case 17:
document.Form1.KeyName.value = document.Form1.KeyName.value+"Ctrl";
break;
}
}
我们可以看到Alt
和Ctrl
都被调用。
使用Firefox 22和IE 9测试。