私はこれに数時間を費やしましたが、助けるものを見つけることができなかったので、タオルを投げました. 入力がフォーカスを失ったときにユーザーが入力ボックスをクリアして何も残さない場合、入力ボックスの以前の値を復元しようとしています。たとえば、入力ボックスに「ブリスベン、オーストラリア」と表示され、ユーザーがそのテキストを入力から削除してタブを押すと、入力を「ブリスベン、オーストラリア」に戻します。これが私のコードです:
$('input#search-location').on("focus", function() {
$(this).data("previous-value", $(this).val());
});
$('input#search-location').on("blur", function() {
if ($(this).val() == "") {
// alert($(this).data("previous-value"));
$(this).val($(this).data("previous-value"));
}
});
両方のイベントが発生し、blur 関数でアラートのコメントを外すと、以前の値が正しく表示されます。しかし、入力ボックスには何も表示されず、コンソールにもエラーはありません。私が見逃しているのはばかげていると思います...助けていただければ幸いです!