2

blur()eventを使用して電子メール ID の検証を行っているとします。これを行っているとします。

$('#email').blur(function(){
    //make ajax call , check if duplicate email exist and if duplicate is there do :
    $('#email-error').html('duplicate email exisit');
});

ただしblur()、入力ボックスを使用している場合は、他の場所をクリックし(ぼかしイベントが発生します)、別のタブに切り替えて(ブラウザの)タブに戻ると、ページがフリーズします。これに?

4

2 に答える 2

3

ぼかしの代わりに.change関数を使用します。変更イベントは、値が変更されたときに要素に送信されます。ぼかしイベントまたはフォーカスアウト イベントは、データが変更されたかどうかにかかわらず、テキスト ボックスがフォーカスを失うたびに不必要に ajax 要求を起動します。

$('#email').change(function(){
   //make ajax call , check if duplicate email exist and if duplicate is there do :
   $('#email-error').html('duplicate email exisit');
});
于 2012-09-15T06:39:28.153 に答える
2

ぼかしの代わりに、このように追加します

$('#email').focusout(function(){  
    $('#email-error').html('duplicate email exisit');
});
于 2012-09-15T06:43:43.473 に答える