シナリオ
現在、テキスト ボックスに内容を入力して、keyup イベントを自動的にトリガーする必要があります。ドロップダウン リストは、対応するオプションを自動的にフィルターします。しかし、$,ajax を使用した後、毎回イベントがトリガーされると、web ページ全体が点滅します。グローバル ajax イベントがトリガーされました
コード スニペット
$.ajax({ type: "POST", url: root + "/xxx, data: requestData, dataType: "json", success: function(data){ // 清空列表 $("#formOpinion #listLeft").empty(); $.each(data, function(i, $data) { var $option = $("<option name='opinion.tag' value=" + $data.code + $data.name + ">" + $data.code + $data.name + "</option>"); // 绑定数据到listLeft $("#formOpinion #listLeft").append($option); }); } });
解決策
jquery api ドキュメントを見ると、$.ajax に、ajax イベントがグローバルかどうかを設定できる global プロパティがあることがわかりました。デフォルトは true なので、false に変更します。
上記の内容は、jqueryの$.ajaxメソッドに基づいた非同期リクエストによるページのちらつきの問題を解決するために編集者が紹介した解決策です。