2013-07-30 14 views

cevap

4
Aslında adlandırmak geri arama kullanarak eklenti & tanımlayan gitti

; Bu, birden fazla işlev/eklentinin geri aramadan çağrılmasını sağlar ve aynı zamanda amaçlanan yaklaşım gibi hissettirir.

Eklenti:

Redaktör çağrı:

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

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

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

your_method() aşağıda aracılığıyla basitçe çağrılabilir redactor nesne & üzerinde şu anda hazır

Orijinal yanıtı:

Geç olduğunu biliyorum ama bu akşam kendime rastladım.

Bu

benim için çalıştı:

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

Bu sadece seçenekleri çağırır ve keyDownCallback ekler. Tek sorun, yalnızca bir eklenti ile eklenebilir (sonuncu olarak her zaman bir öncekinin üzerine yazılır).

2

Bu roj'un orijinal yanıtında this.opts ile harika bir fikir. Böyle eski geri arama fonksiyonunu korumak mümkün olmalıdır:

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

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

      if (oldKeydownCallback) 
       oldKeydownCallback(); 
     } 
    } 
} 

Açıklama: Eski callback'inde Referans ardından kapatma dahil ve kendi geri arama içinde mevcut olan oldKeydownCallback muhafaza edilecektir yüzden sadece can Kendi geri arama işleviniz kendi kodunu yürütmeyi bitirdikten sonra onu arayın.

İlgili konular