Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 双驱动模糊事件_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 双驱动模糊事件

Javascript 双驱动模糊事件,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有javascript代码,应该在焦点转移时执行一次。一切正常,但由于某些奇怪的原因,该代码执行了两次,因此我给出了两个警告窗口 $(document).ready(function() { $('#username').blur(function() { var formData = { "username":$('#username').val() }; $.ajax({ url:'

我有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会触发两个“模糊”事件。这两个事件看起来几乎一样,所以很难判断你是否应该注意

我最好的建议是在“焦点”和“模糊”上切换一些“类”值或其他值,忽略一个看起来不处于正确的“我只是聚焦”状态的“模糊”

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

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

我最好的建议是在“焦点”和“模糊”上切换一些“类”值或其他值,忽略一个看起来不处于正确的“我只是聚焦”状态的“模糊”


我把这段代码移到了#username div之前,一切都正常工作了

我把这段代码移到了#username div之前,一切都正常工作了

您是否有多个具有
id=“username”
属性的元素?好的,如果您将
alert
替换为
console.log
,会发生什么情况?这场比赛还有两次吗?萨尔曼A,是的,它出现了两次。警报只会发生一次。您的代码可能运行了两次吗?如果您为“blur”放置两个事件处理程序,您将得到ajax调用……嗯,我在Firebug中看到两个check.php请求。如果我只发布一次,为什么会发生这种情况?您是否有多个具有
id=“username”
属性的元素?好的,如果您将
alert
替换为
console.log
,会发生什么情况?这场比赛还有两次吗?萨尔曼A,是的,它出现了两次。警报只会发生一次。您的代码可能运行了两次吗?如果您为“blur”放置两个事件处理程序,您将得到ajax调用……嗯,我在Firebug中看到两个check.php请求。如果我只发布一次,为什么会发生这种情况?我有一个类似的问题,但后来我完全忽略了它(只有chrome tho,显然不是Safari)。现在知道原因很好。如果我将“blur”事件更改为“onclick”事件,则此问题仍然存在。所以,我在opera和firefox中也遇到了问题,不仅仅是chrome(或safari),我也遇到了类似的问题,但后来我完全忽略了它(只有chrome tho,显然不是safari)。现在知道原因很好。如果我将“blur”事件更改为“onclick”事件,则此问题仍然存在。所以,我在opera和firefox中也有问题,不仅仅是chrome(或safari)