2014-03-28 51 views
0

我正在使用CKEditor來更新iframe的內容。每次用戶改變CKEditor中的內容時,都會反映在iframe上。我正在使用更改事件來更新內容。這裏是我的代碼:如何在ckeditor 4.3的codemirror插件中觸發「更改」事件?

var editor=CKEDITOR.replace('editor1'); 
editor.on('change', function(e) { 
    $(#iframeContainer).contents().find('.contentText').html(editor.getData()); 
}); 

每次我輸入的東西或更改字體顏色,樣式,大小,等它的工作原理,因爲它的假設是和CKEditor的內容克隆到的iframe。但是當我使用codemirror插件切換到源視圖時,源視圖中所做的所有更改都不會觸發更改事件。有沒有辦法從codemirror生成的「源視圖」中觸發更改事件?

回答

0

CodeMirror不自動同步它創建的textarea。但它確實激發了自己的change event,並且您可以處理此操作,將其去抖,或者同步textarea內容(調用CodeMirror實例上的save()方法執行此操作),或者通過調用getValue()直接獲取當前內容。

+0

感謝您的迴應,您對如何訪問CodeMirror實例有任何想法嗎?我試過window [「codemirror_」+ editor.id] .refresh();但它返回_undefined_ –

+0

你可以直接使用window.editor訪問 – djadmin

0
var cm = ... // some CodeMirror instance 

cm.setValue("new value"); 
cm.refresh(); 
+0

你還應該添加一些文本並解釋你在做什麼。代碼本身可能會讓一些人感到困惑 –