2013-07-30 17 views

Odpowiedz

4

Tak naprawdę poszedłem z definicją wtyczki & używając wywołania zwrotnego, aby zadzwonić; pozwala to na wywoływanie wielu funkcji/wtyczek z wywołania zwrotnego, a także wydaje się być zamierzonym podejściem.

Plugin:

RedactorPlugins.advanced = { 
    your_method: function() { 
     // Add code here… 
    } 
} 

your_method() jest teraz dostępny na obiekcie redaktor & prostu wpłacone przez poniżej:

połączeń Redaktor:

$('#redactor').redactor({ 
    keydownCallback: function() { 
     this.your_method(); 

     // Additional keyDownCallbacks: 
     this.another_method(); 
     this.yet_another_method(); 
    } 
}); 

Oryginalna odpowiedź:

Wiem, że jest późno, ale spotkałem się z tym dziś wieczorem.

Ten pracował dla mnie:

RedactorPlugins.advanced = { 
    init: function() { 
     this.opts.keydownCallback = function(e) { 
      // Add code here… 
     } 
    } 
} 

To po prostu wywołuje opcje i dodaje keyDownCallback. Jedyny kłopot polega na tym, że można go dodać tylko przez jedną wtyczkę (jako że ostatnia wywołana zawsze zastępuje poprzednią).

2

Świetny pomysł z tym. W oryginalnej odpowiedzi Roj. Powinno być możliwe, aby zachować starą funkcję zwrotną tak:

RedactorPlugins.advanced = { 
    init: function() { 
     var oldKeydownCallback = this.opts.keydownCallback; 

     this.opts.keydownCallback = function(e) { 
      // Add code here… 

      if (oldKeydownCallback) 
       oldKeydownCallback(); 
     } 
    } 
} 

Objaśnienie: Wniosek do starego zwrotnego zostaną zachowane w oldKeydownCallback który następnie jest zawarty w zamknięciu i dostępnej we własnej zwrotnego, więc można po prostu wywołaj go, gdy twoja własna funkcja wywołania zwrotnego zakończy wykonywanie swojego własnego kodu.

Powiązane problemy