2012-05-24 17 views
11

Ho un plug-in per il ckeditor e all'interno del init: voglio catturare l'evento click in modo che possa fare qualcosa.L'evento click del ckeditor non funziona

CKEDITOR.plugins.add('Columns',{ 
    init : function(editor) { 
    editor.on('doubleclick', function(ev) {console.log('hello');}); // Works 
    editor.on('focus', function(ev) {console.log('hello');}); // Works 

    editor.on('click', function(ev) {console.log('hello');}); // Does not work 
    editor.on('mousedown', function(ev) {console.log('hello');}); // Does not work 
    } 
}); 

Qualche idea ???

EDIT: OK non riusciva a fare clic su di lavoro, credo che abbiamo bisogno di creare un evento per questo. Tuttavia grazie a questo post: http://alfonsoml.blogspot.com.au/2011/03/onchange-event-for-ckeditor.html

sono riuscito a usare 'saveSnapshot' che sembra sparare ogni volta che clicco così questo ora lavora

editor.on('saveSnapshot', function(ev) {console.log('hello');}); // Works 
+4

Provare 'editor.editable(). On ('click', callback)'. – oleq

+0

'editor.editable()' richiede un argomento. Ho trovato che 'editor.editable (editor.element)' funziona con editor in linea, ma si interrompe per i normali editor. Correzione – F21

+0

. 'editor.editable()' funziona, ma puoi chiamarlo solo dopo che l'editor ha attivato l'evento 'instanceReady'. – F21

risposta

1

Mi rendo conto che è vecchio, ma non avere una risposta alla domanda originale

CKEDITOR.plugins.add('Columns',{ 
    init : function(editor) { 
     editor.on('instanceReady', function (e) { 
      this.container.on('click', function (event) { 
       console.log('hello'); 
      }); 
     }); 
    } 
}); 

Nota: questo non funziona quando CKEditor è in 'modalità iframe classico'. Invece, dovrai usare this.document (vedi: document property) per ottenere un riferimento all'iframe.

+0

L'evento si attiva per i clic all'esterno dell'editor quando utilizziamo questo approccio. Fiddle: http://jsfiddle.net/Af6KD/ – F21

+0

@ F21 Quando non in modalità iframe 'this.document' ottiene un riferimento all'intero documento di pagina, prova invece a usare' this.container' (vedi modifica) –

+0

Grazie, questo ha funzionato :) Ancora più roba del ckeditor che devo trovare le informazioni scavando forum/post .. che pezzo di ****! –

Problemi correlati