当涉及两个输入时,jQuery模糊会持续触发

Fer*_*ker 3 jquery

我已经在谷歌上挖了一段时间,在这里堆栈Overflow并且找不到与此相关的任何内容.

我有多个输入文本字段,当模糊时调用jQuery AJAX函数到服务器.它几乎可以很好地工作.

问题是如果我专注于一个文本输入然后单击另一个(使其成为焦点).模糊事件不断被AJAX调用服务器和警报触发.

任何想法如何平静模糊,所以它不是经常开火?可能有一些非常简单的事情我不会这样做可能会解决这个问题.

这是代码(忽略{{}}和{%%}标记,这是一个django模板).

输入:

    <td class="tracking-text">CK Req:</td><td class="tracking-td"><input class="tracking-input" type="text" value="{{pr.checkreq|default_if_none:"&nbsp"}}" size="10"></td>
    <td class="tracking-text">LPD:</td><td class="tracking-td"><input class="tracking-input" type="text" value="{{pr.lpd|default_if_none:""}}" size="10"></td>
    <td class="tracking-text">PR#</td><td class="tracking-td"><input class="tracking-input" type="text" value="{{pr.prnumber|default_if_none:""}}" size="10"></td>
    <td class="tracking-text">DATE:</td><td class="tracking-td"><input class="tracking-input" type="text" value="{{pr.prdate|default_if_none:""}}" size="10"></td>
Run Code Online (Sandbox Code Playgroud)

jQuery:

        $('.tracking-input').blur(function(){

            $.post( "{% url buy.views.update_purchase_ajax %}",
                {pr_pk: $('span#pr_pk').html()},
                function(data){
                    alert(data.message);
                }, 'json');


        });
Run Code Online (Sandbox Code Playgroud)

任何想法将不胜感激.

Jam*_*gne 5

alert导致你再次失去焦点,解雇了另一个AJAX请求.

如果输入不为空,可能只通过发送AJAX请求来修复它?

alert真的需要还是仅用于调试?这是您不应该alert用于调试的一个主要示例.使用console.log.