2015-01-22 14 views
6

Se possibile, come possiamo modificare l'evento del contenuto del ckeditor? Ad esempio, c'è del testo già inserito nel contenuto del ckeditor aka area di testo quando la pagina viene aperta. Successivamente scrivo qualcosa di più o cancelli un po 'di quel testo. C'è qualche evento che è stato licenziato. Posso arrivare a cambiare una variabile quando il testo è cambiato?Evento per il contenuto del ckeditor modificato

ho questo per textarea regolari:

$("input,textarea").on("input", function() { 
    booleanvar= true; 
}); 

visto una possibile soluzione da qualche parte che ha avuto questo:

$('.ckeditor').ckeditorGet().on('key', function (e) { 
    //some code 
}); 

provato, ma non ha funzionato. E sì, so che la textarea del mio ckeditor ha "ckeditor" come classe, quindi non è la ragione per cui non funziona.

Quindi qualcosa di simile a quegli esempi che posso utilizzare per ottenere una sorta di evento mutato dal testo di ckeditor?

+0

possibile duplicato di [Come ascoltare gli eventi di base in CKEditor?] (Http://stackoverflow.com/questions/5721916/how-to-listen-to-basic-events-in-ckeditor) –

risposta

19

Sì, c'è molto utile anche il change che è possibile ascoltare. Documentazione qui: http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-change

utilizzarlo per esempio, in questo modo (cambiamento editor1 all'istanza editor):

CKEDITOR.instances.editor1.on('change', function() { 
    console.log("TEST"); 
}); 
+2

Probabilmente funziona, ma il metodo viene chiamato solo quando la pagina viene caricata (in quel momento il ckeditor non è ancora istanziato) e quindi non viene più chiamato, è questo che dovrebbe accadere? Si noti che sto sostituendo la textarea per ckeditor semplicemente impostando la classe textarea = "ckeditor" –

+1

Ok che è risolto, solo bisogno di aggiungere 'CKEDITOR.replace ('editor1');' prima del 'CKEDITOR.instances.editor1 .on .... 'in modo che fosse già istanziato. Funziona bene dopo –

+0

@ MicaelFlorêncio Grande che hai risolto! – Nenotlep

1

E 'aiutami molto, per onchange di CKEditor.

<textarea id="ckeditor_textarea " name="ckeditor_textarea ">Add Yore Data</textarea> 

<script type="text/javascript"> 
var editor = CKEDITOR.replace('ckeditor_textarea ', {}); 
// editor is object of your CKEDITOR 
editor.on('change',function(){ 
    console.log("test"); 
}); 
</script> 
Problemi correlati