我按照這個主題編寫的步驟:CKEditor, AJAX Save 我試圖觸發一個自定義的'saved.ckeditor'事件,如果有人按AjaxSave按鈕。但我沒有成功。CKeditor保存事件
的CKEditor /插件/ ajaxsave/plugin.js:
(function(){
var saveCmd =
{
modes : { wysiwyg:1, source:1 },
exec : function(editor)
{
editor.fire('saved.ckeditor');
$(editor).trigger('saved.ckeditor', editor.getData());
alert(editor.getData());
}
}
var pluginName = 'ajaxsave';
CKEDITOR.plugins.add(pluginName,
{
init : function(editor)
{
var command = editor.addCommand(pluginName, saveCmd);
command.modes = { wysiwyg : !!(editor.element.$.form) };
editor.ui.addButton('AjaxSave',
{
label : editor.lang.save,
command : pluginName,
className : 'cke_button_save'
});
}
});
})();
如果我還是在功能設置的編輯數據,get和set事件將自動被解僱。但我甚至無法手動觸發'getData.ckeditor'事件。
任何提示?
另一件事:如果編輯器的內容自上次保存後沒有改變(它不髒),我該如何禁用按鈕?
在jquery適配器中,他們這樣做(至少主要):var a = window.jQuery; (a.fn,{ckeditorGet:function(){...}}); var e = a(this); e.trigger('setData.ckeditor',[j]); – BTakacs 2011-01-07 22:23:15