2013-07-30 58 views
6

我想爲redactor.js所見即所得的編輯器創建一個插件,但我找不到從我的插件訂閱redactor回調的方式。我需要使用keydownCallbackautosaveCallback訂閱redactor.js插件的回調

RedactorPlugins.myPlugin = { 
init: function() 
{ 
    //Code 
} 
} 

回答

4

我其實去定義插件&使用回調來調用它;這允許從回調中調用多個函數/插件,並且感覺像預期的方法。

插件:

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

your_method()現在可用的主編對象&上簡單地通過調用下面:

主編電話:

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

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

原始回答:

我知道這是晚了,但今晚遇到這個我自己。

這爲我工作:

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

它只調用的選項,並增加了keyDownCallback。唯一的麻煩是它只能被一個插件添加(因爲最後一個被調用的東西總是覆蓋前一個)。

2

在roj的原始答案中使用this.opts的好主意。它應該是能夠保持這樣的老回調函數:

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

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

      if (oldKeydownCallback) 
       oldKeydownCallback(); 
     } 
    } 
} 

說明:參考老回調將在oldKeydownCallback然後將其列入關閉和自己的回調中可被保存,所以你可以一旦你自己的回調函數完成了自己的代碼,就調用它。