2015-05-19 93 views
0

我想提醒任意键按下:使用String.fromCharCode不会返回所有值

alert(String.fromCharCode(e.which)); 

似乎为A-Z a到z字符,但不能用于其他任何字符工作。

我的目标是让它适用于任何角色(所见即所得)。

+0

您还没有表现出你是如何挂钩该到事件... –

+0

document.body.onkeyup = function(e) –

+0

这应该是问题的一部分 - 理想情况下作为包含演示问题所需的所有内容的完整脚本的一部分。 –

回答

1

您可以手动提供自己的映射,请参阅我的jsfiddle例如: https://jsfiddle.net/Glogo/dab3hzz7/1/

示例代码:

function myStringFromCharCode(which) { 
    var strKey = String.fromCharCode(which); 

    switch(which) { 
     case 13: return "Shift" 
     case 17: return "Ctrl" 
     case 18: return "Alt" 
     // add more mappings here ... 
    } 

    return strKey;  
} 

function myOnKeyUp(e) { 
    alert(e.which + "=" + myStringFromCharCode(e.which)); 
} 

document.body.onkeyup=myOnKeyUp; 
+0

谢谢!我想知道是否有可能获得真正的字符值! @#$%^&*() –

+0

对于这些字符,您可能需要能够捕捉多个键(具体取决于您的键盘布局,例如在英文键盘上@是Shift + 2)。看到这个问题:http://stackoverflow.com/questions/5203407/javascript-multiple-keys-pressed-at-once 但我不知道如何得到输出的字符,因为它取决于键盘布局 – Glogo