2016-07-21 11 views
0

Ich versuche Hotkeys in einem Ext.js-Projekt einzurichten. Mein Code ist unten.Verwenden von Hotkeys Ext.js zum Aufrufen der vorhandenen Funktion

_setHotKeys: function(values, button){ 
    var hotKeyMap = { 
      target: document, 
      binding:[] 
     }; 

     for(var i = 0; i < values.length; i++){ 
      if(values[i].hotkey){ 
       hotKeyMap.binding.push({ 
        key: values[i].hotkey, 
        fn: this._handleFillInValueButtonToggle(button, true) 
       }); 
      } 
     } 
     console.log(hotKeyMap); 
     var keyMap = new Ext.util.KeyMap(hotKeyMap); 
}, 

Ich habe eine andere Funktion, _handleFillInValueButtonToggle, die ich genannt werden möchte, wenn eine Hot-Taste gedrückt wird. Das Ergebnis zeigt, dass die console.log(hotKeyMap)fn nie auf diese Funktion gesetzt wird, sondern auf undefined:

{ 
    target: document, 
    binding: [ 
     { fn: undefined, key: "e"}, 
     { fn: undefined, key: "c"}, 
     { fn: undefined, key: "n"}, 
     { fn: undefined, key: "d"}, 
    ] 
} 

Wie kann ich diese Funktion erfolgreich aufrufen, wenn der Hotkey gedrückt wird?

Antwort

0

Anstatt die Funktion direkt aufzurufen, rufen Sie eine Funktion auf, die die gewünschte Funktion aufruft, während Sie den Gültigkeitsbereich übergeben.

Verwandte Themen