双启动onblur事件

我有javascript代码,应该在焦点转移时执行一次。 一切正常,但由于某些奇怪的原因,这段代码执行了两次,因此我给出了两个警报窗口。

$(document).ready(function() { $('#username').blur(function() { var formData = { "username":$('#username').val() }; $.ajax({ url:'check.php', type:'POST', data:'jsonData=' + $.toJSON(formData), success: function(res) { alert(res); } }); }); }); 

我究竟做错了什么?

当浏览器窗口失去焦点时,某些浏览器(Chrome,可能是Safari)会触发单独的“模糊”事件。 这对我来说似乎是一个错误,我不知道可以做些什么。

详细说明:如果你在上有一个“模糊”处理程序,并且它有焦点,然后你在浏览器窗口外单击(或ALT-TAB到另一个应用程序),那么Chrome会触发两个 “模糊”事件。 这两个事件看起来都差不多,所以很难说你是否应该注意。

我有一个最好的建议是在“焦点”和“模糊”上切换一些“类”值或某些东西,并忽略一个看起来没有处于正确的“我只是专注”状态的“模糊”。

这是我在该问题上发布的问题。

我在#username div之前移动了这段代码,一切都按原样运行。