最近有個需求是要在點擊CKeditor的時候觸發某個判斷的事件。試了一些方法都不可行,自己寫的onclick時間都會被編輯器屏蔽。可以對對象加載完成綁定事件代碼如下。
CKEDITOR.instances.text.on("instanceReady", function () {  
        //and click event  
        this.document.on("click", check_ckedit);
}); 
        其中check_ckedit 是點擊的時候觸發的函數名。但調用了 setData方法后,剛才綁定的事件就被清除了。要重新綁定。代碼如下。
if('寫點什么吧' === CKEDITOR.instances.comment_text.document.getBody().getText().trim()) { CKEDITOR.instances.comment_text.setData('', function() { CKEDITOR.instances.comment_text.focus(); CKEDITOR.instances.comment_text.document.on("click", check_ckedit); }); }
setData方法 是個異步的,所以直接寫后面添加綁定的話不是每次都成功,甚至是每次都不成功。所以可以利用它的第二個參數。把要處理的事情寫到函數中。傳遞給它。這樣就保證了綁定事件是在setData之后的了。
