現在、特定のフォーム要素でフォーカスアウトを使用しているときに、ユーザーがタブ付きまたは別のフィールドをクリックしたときを知ります。フォーカスがキー押下またはクリックによるものかどうかを検出します
これの直後にajaxコールが起動し、いくつかの異なるフィールドに入力されるため(例:有効な郵便番号を入力して、dbを検索して都市を返します)、これを知る必要があります。
今、私の質問は、ajax呼び出しは、HTML応答を受信し、それを読み込むと、フォームは現在のフォーカスを失う原因となります。
私は、そのフォーカスを保存し、ajax呼び出し後に元に戻す方法が必要です。
これまでのところ、私は仕事の種類にナビゲーションを得ました。それはかなり壊れ、ページ上の他のもの(例えば、ダイアログウィンドウ)の読み込みを妨害する。だから、もっと良い方法がなければならないと思うので、ここにいるのです。より多くの情報が必要な場合はお知らせください。コードは以下のとおりです。
すべてベスト!
$('.DZipCode').focusout(function() {
var ZipCode = $('.DZipCode').val();
$.ajax({ // create an AJAX call...
async: false,
type: "POST", // GET or POST
url: "/Home/SelectZipCodeDataDestination", // the file to call`
data: { zipCode: ZipCode },
success: function (response) { // on success..
$(":input").focus(function() {
var prevFocus;
prevFocus = $(this).attr("id");
$('#quotetab').html(response);
$('#'+prevFocus).focus();
// });
} // end of success
}); // end of .ajax
});
これを行うには少し余分になりましたが、方向は間違いありませんでした。何らかの理由で、ajax呼び出しからの応答が、私のtabPressed変数をfalseにリセットしていました。私は、単にfocusout out関数内のセカンダリ変数の中に値を格納することになりました。助けてくれてありがとう! –