为了完善我正在开发的应用程序,我正在为常见任务添加键盘快捷键。我可以起诉 Ext.KeyMap
这样做...
var map = new Ext.KeyMap("my-element", {
key: 13, // or Ext.EventObject.ENTER
fn: myHandler,
scope: myObject
});
但我想检测“ss”或“qq”,即字母的特定双键笔画。我不知道该怎么做....
我的想法是检测单个击键,添加一个监听器来检测以下击键。为了处理它们之间的差距,设置一个延迟事件,在 x 时间后删除监听器。
任何改进/建议/警告?
最佳答案
我不确定为什么你需要一个额外的听众。为什么不将之前的击键存储在一个变量中(带有击键发生时的时间戳)。然后,您可以将最新的击键与之前的击键进行比较。如果它们相同,并且存储的时间戳不是过去太远,那么这就是您所追求的双键。如果键码不相同,或者存储的时间戳太旧,只需用新值更新存储的键码和时间戳。
关于javascript - ExtJS 使用 Ext.KeyMap 监听全局击键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5711695/