-1

私が呼び出している ajax 関数があります。Webサーバーが非同期リクエストを処理している間、ユーザーが表示しているdivをブロックして、そのリクエストの実行中にボタンや何かを押さないようにしたい...以前にこれを行ったことがあります。アニメーションでブロックしたいダイブ、.block を呼び出し、値が正常に返されたら、ブロックを解除するだけです。そのようです...

function animateSpinner() {
    $("#list").block({ message: '<img src="../../Images/ajax-loader.gif" />' });
};

そして、単に呼び出す

$("#list").unblock({ message: '<img src="../../Images/ajax-loader.gif" />' });

正常に戻ったら。
ただし、これを実行しようとすると常にこの例外が発生します...ここに画像の説明を入力

それはブロック解除の部分です。コメントアウトするのを忘れていました (私は単にこれの ajax 部分をテストしていました。
これらの種類の呼び出しを document.ready または何かでラップして、それらが呼び出されるようにする必要があります。最近、ajax 送信が機能しないという問題がありました。それらは $(document).ready 呼び出しでラップされていませんでした。これが、その呼び出しで何かをラップする必要がある場合の別のインスタンスであるかどうかを確認したいと思いますか?

4

2 に答える 2

1

@AmericanUmlautが指摘したように、jQueryBlockUIプラグイン構文を使用しています。ここの例http://www.malsup.com/jquery/block/#elementは、あなたがやろうとしていることとほぼ同じです。、

問題のajax呼び出しが起動を開始する前にBlockUIプラグインがロードされている限り、onDOMReadyについて懸念している限り、この機能を期待どおりに機能させるために特別なことをする必要はありません。

于 2012-12-04T16:20:25.763 に答える
1

コメントで述べられているようにblock、JQueryのような機能はありません。beforeSendAJAXリクエストの関数を使用しdisabled=trueてボタンを設定するか、divz-indexを負の値に変更する必要があります

于 2012-12-04T16:08:02.090 に答える