使用 ExtJS 捕获功能键事件 (F1-F12)

Capture function key events (F1-F12) with ExtJS

如何监听功能键上的按键事件(F1F2F3 ) 与 ExtJS?

我正在尝试使用 F8 键激活触发字段。

我尝试覆盖 isSpecialKey 方法以添加 "specialKey" 事件但没有成功 - 我还尝试使用 Key.map 但这也没有触发任何东西。

谁能指出我正确的方向?

您可以根据特定功能键的已知键码检查事件的键码。为了方便起见,这些在 4.x 版本中作为预定义的静态变量存在于 Ext.event.Event class in version 5.x and Ext.EventObject 中(在任何一种情况下, class / 原型都可以通过self 属性 在事件实例本身上)。

Ext.getBody().on('keydown', function(ev){
    if(ev.getKey() === ev.self.F8)
        Ext.Msg.show({ msg: 'F8 pressed!' });
});

» Fiddle - 请注意,您附加侦听器的组件应该具有焦点。
(在此示例中,应用程序 window)