【发布时间】:2011-05-02 13:44:53
【问题描述】:
找到特定按键的键码最简单的方法是什么?
有没有什么好的在线工具可以捕获任何关键事件并显示代码?
我想尝试在带有网络浏览器的移动设备上查找特殊键的键码,因此在线工具会很棒。
【问题讨论】:
标签: javascript jquery events keyboard keyboard-events
找到特定按键的键码最简单的方法是什么?
有没有什么好的在线工具可以捕获任何关键事件并显示代码?
我想尝试在带有网络浏览器的移动设备上查找特殊键的键码,因此在线工具会很棒。
【问题讨论】:
标签: javascript jquery events keyboard keyboard-events
$(function () {
$(document).keyup(function (e) {
console.log(e.keyCode);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
这是您的在线工具。
【讨论】:
刚刚谷歌搜索和result
function displayunicode(e) {
var unicode = e.keyCode ? e.keyCode : e.charCode;
console.log(unicode);
}
<form>
<input type="text" size="2" maxlength="1" onkeyup="displayunicode(event); this.select()" />
</form>
【讨论】:
例如,根据按下的键报告什么键盘事件
$("#textinput").keydown(function(e) {
e.keyCode; // this value
});
Try Here for all the key Events 和 These are the mobile key Events
【讨论】:
http://www.quirksmode.org/js/keys.html 的底部可以显示您为选定的键盘事件按下的键的键码。
【讨论】:
如果您只是在寻找 keyCode,您基本上不需要获取 keypress 事件,您可以简单地将字符转换为 keyCode,反之亦然:
Char 到 KeyCode,例如 A
("A").charCodeAt(0) 返回 65。
Here 的语法。
如果您已经知道需要其键码的字符,例如“ABCDEFGH”,则只需一个循环即可获取所有键码:
var text = "ABCDEFGH";
for (var i=0; i< text.length; i++){
console.log(text[i] ,text.charCodeAt(i))
}
这个方法显然不会用于获取键盘上的 shif、ctrl 或 Alt 键的键码,如果你需要它们,请坚持使用上述使用 keypress 事件的方法。
仅供参考,将 keyCode 转换为 Char:
String.fromCharCode(65) 返回 A。
【讨论】:
如果您正在寻找在线工具,https://keyjs.dev 可能是最好的选择:
默认情况下,它会为keydown 事件显示e.key、e.code、e.which 和e.keyCode。
如果您需要更多,可以展开它,您将获得一个包含更多keydown、keypress 和keyup 属性的表格。
如果您还需要更多功能,请打开 DevTools,您将看到您按下的所有键都以类似表格的方式记录到控制台。只需单击您感兴趣的行将其展开并查看整个事件对象。
免责声明:我是作者。
【讨论】:
试试这个:
$('#myelement').keydown(function(event) {
var code = event.keyCode;
alert(code);
}
【讨论】:
尽量不要硬编码太多的键码。尽可能让 JS 库为您转换它们:
var code = ev.keyCode,
ascii = String.fromCharCode(code);
alert(ascii);
【讨论】:
请试试这个。
$('input').on('keyup', function(e){
var key_code = e.which || e.keyCode;
console.log(key_code );
});
如需更好的帮助,请点击以下链接http://www.w3schools.com/jsref/event_key_keycode.asp
【讨论】:
原版 javascript + 警报:
document.addEventListener('keypress', function(e) {
alert("Key: " + e.code + ", Code: " + e.charCode)
});
原版 javascript + 控制台:
document.addEventListener('keypress', function(e) {
console.log("Key: " + e.code + ", Code: " + e.charCode)
});
【讨论】:
您可以尝试使用keycode.info 来执行此操作,它是一个在线工具。
【讨论】:
<script>
document.addEventListener("keydown", function(e){
console.log(e.keyCode);
});
</script>
它将在控制台打印文档正文上按下的键的键码。
【讨论】: