2012-05-24 11 views
11

Bir ckeditor eklentisi var ve init içinde: Tıklama olayını yakalamak istiyorum, böylece bir şeyler yapabilirim.ckeditor tıklama olayı çalışmıyor

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 
    } 
}); 

Herhangi Bir Fikir ???

DÜZENLEME: Tamam işe yaramazsa, bunun için bir etkinlik oluşturmamız gerektiğini düşünüyorum. Bu yayına Ancak sayesinde: http://alfonsoml.blogspot.com.au/2011/03/onchange-event-for-ckeditor.html

Ben bu nedenle bu şimdi

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

Bunun yerine 'editor.editable()' ı deneyin ('tıklayın', geri arama) 'yerine. – oleq

+0

'editor.editable()' bir argüman gerektirir. Ed editor.editable (editor.element) 'ın satır içi düzenleyiciler için çalıştığını, ancak normal düzenleyiciler için ara verdiğini buldum. – F21

+0

Düzeltme. editor.editable() 'çalışır, ancak editör yalnızca' instanceReady' olayını tetikledikten sonra bunu çağırabilirsiniz. – F21

cevap

1

Bu eski olduğunu fark çalışır tıklayın her zaman ateş gibi görünüyor 'saveSnapshot' kullanmak başardı ama bir cevap yok orijinal soruya.

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

Not: CKEditor 'klasik iframe modunda' olduğunda bu işe yaramaz. Bunun yerine, iframe referans almak için this.document'u (bkz: document property) kullanmanız gerekir.

+0

Etkinlik, bu yaklaşımı kullandığımızda editörün dışındaki tıklamaları tetikler. Fiddle: http://jsfiddle.net/Af6KD/ – F21

+0

@ F21 iframe modunda değilken, 'this.document' tüm sayfa belgesine bir başvuru alır, bunun yerine 'this.container' kullanmayı deneyin (bkz. Düzenleme) –

+0

Teşekkürler, bu Çalıştı :) Henüz forumları/mesajları kazarak bilgi bulmak zorunda daha fazla ckeditor şeyler .. Ne bir parça ****! –