2011-01-05 23 views
5

Po zainicjowaniu edytora tinyMCE zauważyłem dwa różne sposoby wywoływania podczas tworzenia edytora.callback instalacji tinyMCE versus onAddEditor

Jednym ze sposobów jest za pomocą zwrotnego instalacyjny, który jest częścią tinyMCE.init:

tinyMCE.init({ 
    ... 
    setup : function(ed) { 
     // do things with editor ed 
    } 
}); 

Innym sposobem jest podłączenie do zdarzenia onAddEditor:

tinyMCE.onAddEditor.add(function(mgr,ed) { 
    // do things with editor ed 
}); 

Jakie są różnice między używaniem tych dwie metody?

Czy edytor znajduje się w innym stanie niż jeden? Na przykład, rzeczy nie są jeszcze załadowane, jeśli próbuję uzyskać dostęp do właściwości w obiekcie edytora.

Jakie są powody, aby używać jednego nad drugim?

Odpowiedz

4

Różnica polega na tym, że tinyMCE.onAddEditor dodaje kod wykonywany opiece imprezy AddEditor i pożary kiedy nowa instancja edytor jest dodawany do kolekcji TinyMCE natomiast ustawienie setup pozwala dodawać wydarzenia do redakcji. Zostanie wykonany przed renderowaniem edytora.

Inną różnicą jest to, że setup ma być ustawiony wewnątrz wywołania inicjalizacji TinyMCE (ustawienie konfiguracji) podczas onAddEditor zwykle jest wywoływana wewnątrz plugin TinyMCE (ale można również ustawić go wewnątrz funkcji konfiguracji).

+0

Dostaję różnice dotyczące tego, gdzie można je ustawić. Próbuję zrozumieć, dlaczego używałbyś jednego nad drugim? Czy istnieją działania, które można podjąć na edytorze, który działałby tylko w jednym z tych wywołań zwrotnych? –

+0

użyłbym callback setup, gdybym nie chciał tworzyć własnej wtyczki (w moim przypadku używam trybu: "textareas", więc nie używam addControl do ich inicjowania) – Thariama

+0

Jeśli chodzi o zakłócanie inspekcji edytora i mieszanie się z domem, czy konfiguracja powodowałaby problem, ponieważ jest wywoływana wcześniej? –

3

onAddEditor.add daje ostrzeżenie w najnowszym TinyMCE 4:

Deprecated TinyMCE API call: <target>.onAddEditor.add(..) 

.on(nameofevent, function(){...}) jest właściwy sposób to zrobić w MCE4 jeśli nie masz wtyczki wsteczną kompatybilność.