2

假设我使用blur()事件验证了电子邮件 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函数代替模糊。更改事件在其值更改时发送到元素。无论数据是否已更改,每次文本框失去焦点时,您的模糊事件focusout 事件都将不必要地触发 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 回答