1
我通過調用CKonBlur
一個爲他們每個人在$(document).ready(..
方法註冊我的每一個文字區域之前完成:CKEDIT的getData:等方法來提交數據
function CKonBlur(name) {
CKEDITOR.instances[name].on('blur', function() {
CKsync(name); // push HTML data from CKEDITOR into the associated textarea
storeNotifications(name); // submit the textarea to the server
});
}
function CKsync(name) {
$("textarea#" + name).val(CKEDITOR.instances[name].getData());
}
遺憾的是,似乎getData
是異步的,我根本無法想出一個等待它完成之前(!)提交數據的方式。
問:我怎樣才能確保getData
被調用storeNotifications
方法之前完成?
我還試圖使用checkDirty
沒有任何成功(它只是崩潰的瀏覽器):
function CKsync(name) {
while (CKEDITOR.instances[name].checkDirty() == true);
{
// do nothing
}
$("textarea#" + name).val(CKEDITOR.instances[name].getData());
}
我不認爲它是一個錯誤;一旦我改變了storeNotifications並直接傳遞了CKEDITOR.instances [name] .getData()的響應,它在所有情況下立即正確工作... – MrG