双启动onblur事件

dar*_*ark 2 javascript ajax jquery

我有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);
            }

        });
    });
});
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Poi*_*nty 5

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

详细说明:如果你有一个"模糊"处理程序<input>,它有焦点,然后你点击浏览器窗口外(或ALT-TAB到另一个应用程序),然后Chrome发出两个 "模糊"事件.这两个事件看起来都差不多,所以很难说你是否应该注意.

我有一个最好的建议是在"焦点"和"模糊"上切换一些"类"值或某些东西,并忽略看起来不适合"我只是专注"状态的"模糊".

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