2013-07-30 24 views
6

Tôi muốn tạo một plugin cho trình soạn thảo WYSIWYG của redactor.js, nhưng tôi không thể tìm cách đăng ký gọi lại redactor từ plugin của tôi. Tôi cần sử dụng keydownCallbackautosaveCallback.Đăng ký gọi lại trên một plugin cho redactor.js

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

Trả lời

4

Tôi thực sự đã xác định plugin & bằng cách sử dụng gọi lại để gọi; điều này cho phép nhiều chức năng/bổ trợ được gọi từ cuộc gọi lại và cũng cảm thấy giống như phương pháp dự định.

Plugin:

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

your_method() bây giờ đã có trên đối tượng người biên soạn & chỉ đơn giản có thể được gọi thông qua dưới đây:

gọi người biên tập:

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

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

Câu trả lời gốc:

Tôi biết đã muộn nhưng đã tự mình vượt qua tối nay.

này đã làm việc cho tôi:

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

Nó chỉ đơn giản gọi là tùy chọn và thêm keyDownCallback. Vấn đề duy nhất là nó chỉ có thể được thêm vào bởi một plugin (như là lần cuối cùng được gọi là luôn luôn ghi đè trước đó).

2

Ý tưởng tuyệt vời với this.opts trong câu trả lời ban đầu của roj. Nó phải có khả năng duy trì chức năng gọi lại cũ như thế này:

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

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

      if (oldKeydownCallback) 
       oldKeydownCallback(); 
     } 
    } 
} 

Giải thích: Tham chiếu đến callback cũ sẽ được bảo quản trong oldKeydownCallback sau đó được bao gồm trong việc đóng cửa và có sẵn trong callback của riêng bạn, vì vậy bạn có thể chỉ gọi nó khi chức năng gọi lại của riêng bạn đã hoàn thành việc thực thi mã riêng của nó.

Các vấn đề liên quan