我正在寻找一个现有的 Javascript 库,或者更好的是一个 jQuery 插件,它可以检测组合键并输出相应的字符串(例如,“ctrl+shift+f”)。这是为了允许用户为 Google Chrome 插件配置组合键。 BetterTouchTool ( http://www.boastr.de/ ) 的首选项行为是我所说的一个很好的例子。有没有人遇到过这样的事情?
最佳答案
我认为这样的事情可能会有所帮助:
document.onkeydown = KeyDownHandler; document.onkeyup = KeyUpHandler; var CTRL = false; var SHIFT = false; var ALT = false; var CHAR_CODE = -1; function KeyDownHandler(e) { var x = ''; if (document.all) { var evnt = window.event; x = evnt.keyCode; } else { x = e.keyCode; } DetectKeys(x, true); DoSometing(); } function KeyUpHandler(e) { var x = ''; if (document.all) { var evnt = window.event; x = evnt.keyCode; } else { x = e.keyCode; } DetectKeys(x, false); DoSometing(); } function DetectKeys(KeyCode, IsKeyDown) { if (KeyCode == '16') { SHIFT = IsKeyDown; } else if (KeyCode == '17') { CTRL = IsKeyDown; } else if (KeyCode == '18') { ALT = IsKeyDown; } else { if(IsKeyDown) CHAR_CODE = KeyCode; else CHAR_CODE = -1; } } function DoSometing() { //check for keys here }
希望有用
关于Javascript/jQuery : Convert key combo to string?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8441295/