我想在Web应用程序中实现键盘热键.到目前为止,我一直在使用
jquery.hotkeys plugin,它允许我实现简单的热键(例如像a的单击键).
现在要通过键盘支持一些更复杂的导航,我想实现像gmail一样的“多键”热键,例如按g(对于’go’)然后按i(对于’inBox’)将带你收件箱.
解决方法
使用
keymaster和
keymaster-sequence插件有一个更好的解决方案.
来源是keymaster.js
和keymaster.sequence.js
像这样使用它们:
<script type="text/javascript" src="https://raw.github.com/madrobby/keymaster/master/keymaster.min.js"></script> <script type="text/javascript" src="https://raw.github.com/chevalric/keymaster-sequence/master/keymaster.sequence.min.js"></script> <script> key.sequence(["g","i"],function () { var el = document.getElementById("result"); el.innerHTML = "You first pressed 'g',then you pressed 'i'"; }); </script> <div id="result"></div>
这是一个小型演示http://jsfiddle.net/Nwdyd/1/,它还显示了碰撞处理(绑定g以及g i)