最近有個需求是要在點擊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以後的了。函數