2011-09-16 52 views
0

我需要編寫一個javascript函數,可以查看頁面(CKEditor)上的WYSIWYG,該頁面在頁面加載到Drupal WYSIWYG模塊後呈現。我很難使用jQuery甚至找到編輯器。檢測和操縱CKEditor區域

$(textarea#textarea-id).change或.keyup什麼都不做。

我可以這樣做:

console.log(CKEDITOR.instances); 

這至少說明我在哪裏CKEditor的是自身附加到該實例。我似乎無法引用任何東西之後:

CKEDITOR.instances.myinstance-name或CKEDITOR.instances [0]都返回未定義。

我已經圈了2個小時了,不知道還有什麼可以嘗試的。

我想要做的就是當用戶正在鍵入(鍵控)時,計算字符輸入。如果輸入大於某個長度,我想在文本中強制換行。

我該如何去實現它?我認爲這將是相當直接的。

使用我所看到的其他例子:

for (var i in CKEDITOR.instances) { 
    CKEDITOR.instances[i].on('change', function() {alert('test 1 2 3')}); 
} 

結果沒有警報。

編輯器正在加載/顯示在iframe中(通過Drupal中的CKEditor/WYSIWYG)。

+0

你CKEDITOR情況下,應通過CKEDITOR.instances [ 「實例名」]可見。你能否給我一個鏈接到你的網頁? –

+0

不能。在我的本地機器上開發。當我嘗試記錄上述語句時,我得到'未定義'。 – Kevin

+0

然後將您的代碼發佈到http://pastebin.com或http://jsfiddle.net/。 –

回答

1

有一個插件提供CKEditor的onChange事件,你可以找到它(連同說明)here

它建議使用這樣的代碼:

editor.on('saveSnapshot', function(e) { somethingChanged(); });