2013-07-30 2 views
6

redactor.js WYSIWYG 편집기 용 플러그인을 만들고 싶지만 플러그인에서 redactor 콜백을 구독하는 방법을 찾을 수 없습니다. keydownCallbackautosaveCallback을 사용해야합니다.redactor.js 용 플러그인의 콜백 구독하기

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

답변

4

실제로는 콜백을 사용하여 & 플러그인을 정의하는 것으로갔습니다. 이것은 콜백에서 여러 함수/플러그인을 호출 할 수있게 해주 며 의도 된 접근 방식과 같은 느낌을줍니다.

플러그인 :

편집자 전화 :

$('#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() 아래를 통해 단순히 호출 편집자 객체 &에서 사용할 수 있습니다

원문 대답 :

나는 늦었지만 오늘 저녁에 내 자아를 발견했다.

은 나를 위해 일한 :

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에 유지됩니다 그래서 당신은 할 수 자신의 콜백 함수가 자체 코드 실행을 마친 후에 호출하십시오.