0

私は JavaScript の初心者で、DOM をトラバースするために書いています。このページでは、チェックボックスを使用して結果をフィルタリングします。結果は Ajax を使用して表示されます。4 レベルのチェックボックスがあります。

祖父母 親子 孫
.

レベルごとに、javascript でチェックボックスをクリックし、コンテンツが読み込まれるのを待ちます。

現在、DOM 全体をチェックしてトラバースしますが、待機はしません。

私が望むのは、要素が CLICKED のとき、次の関数の決定読み取り() は、Ajax の結果が更新されたときにのみ呼び出されることです。

setTimeOut やその他の遅延メソッドを使用してみましたが、シングル スレッドで動作しないとのことです。何か案は ?

for (i = 0; i < mgtNode.length; i++) { mgtNode[i].click();

for (j = 1; j < stateNode.length; j++)

{
    stateNode[j].click();
    var read = decideRead();
    if (read)

    {
        alert('we have read the data, now skip further reading below');
        stateNode[j].click(); // we have read the data, now skip further reading below.
        continue;

    }


    for (k = 0; k < inTypeNode.length; k++) {

        inTypeNode[k].click();

        var read = decideRead();

        if (read)

        {

            alert('we have read the data, now skip further reading below');

            inTypeNode[k].click();
            continue;

        }




        for (l = 0; l < jobNode.length; l++)

        {
            jobNode[l].click();

            while (true) {
                if (new Date() - startTime >= 5000) {
                    break;
                }
            }


            saveData();

            jobNode[l].click();
        }

        inTypeNode[k].click();


    }
    stateNode[j].click();

}
mgtNode[i].click();

}

4

1 に答える 1

0

これには onreadystatechange を使用する必要があります。これを確認してください http://www.w3schools.com/ajax/ajax_xmlhttprequest_onreadystatechange.asp

于 2013-07-18T11:48:51.877 に答える