0
我正在構建一個類似於pagemodo.com的頁面自定義功能的功能。用戶必須點擊HTML頁面中的標籤(div),CKEDITOR將使用標籤文本加載到單獨的div中。ckeditor編輯頁面
現在,ckeditor正在加載標籤文本,但CKEDITOR的「KeyUp」事件未觸發。只有當「KeyUp」事件觸發時,我才能夠調用另一個函數「readAsTyped」來同時更改標籤中的文本。
您可以在這裏看到http://graffiti-media.co/testing/rashmi/custom/
$(document).ready(function() {
$('.editable').click(function(){
$(this).children().each(function(index, domEle) {
createEditor($(domEle).text(), domEle);
});
});
});
var editor, html = '';
function createEditor(text1, domEle)
{
// Create a new editor inside the <div id="editor">, setting its value to html
var config = {};
ckeditor_instance = CKEDITOR.appendTo('editor', config, text1);
var abc=ckeditor_instance.name;
ckeditor_instance.on('instanceCreated', function(e) {
e.editor.on('contentDom', function() {
e.editor.document.on('keyup', function(event) {
// keyup event in ckeditor
readAsTyped($('#cke_editor2'),$(domEle));
//on focus
}
);
});
});
}
function readAsTyped(obj, label) {
var typedVal = obj.val();
// set the value of characters into the label
$(label).html(typedVal);
}
工作拷貝任何幫助將不勝感激。
是的,類似的東西。只有很小的差異。當單擊一個div時,爲div內的每個孩子打開一個CKEDITOR。在你的例子中,頁面中只有一個CKEDITOR實例,因此我們可以像這樣綁定事件「CKEDITOR.on()」。我需要在同一頁面中綁定多個CKEDITOR的事件。 – 2012-07-06 06:42:27
您可以根據自己的需要,將事件與CKEDITOR創建時的每個實例綁定或分別綁定到每個實例。 – AlfonsoML 2012-07-06 07:36:21
這是我現在使用的代碼。我將CKEDITOR實例附加到div並將其分配給變量「ckeditor_instance」,但「instanceCreated」事件永遠不會觸發。 'ckeditor_instance = CKEDITOR.appendTo('editor',config,text1); \t ckeditor_instance.on('instanceCreated',function(e){ document.getElementById(e.editor.name +'_preview')。innerHTML = e.editor.getData(); e.editor.on('change ',function(ev){document.getElementById(ev.editor.name +'_preview')。innerHTML = ev.editor.getData(); });' – 2012-07-06 11:21:05