1

メソッドCKonBlurでそれぞれのテキストエリアを呼び出して、各テキストエリアを登録します。$(document).ready(..

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());
}
4

1 に答える 1

1

getData()非同期ではないことは 100% 確信しています。setData()であるが、そうでgetData()はない。値を返すため、そうではありませんでした。別の場所にバグがあります。

于 2013-07-17T07:43:57.900 に答える