在模糊处执行相同的代码并输入

时间:2016-12-02 09:18:22

标签: javascript jquery

您好我在blur()和键输入上执行相同的代码时遇到了一些麻烦。我使用以下代码:

 $(".formatted-date").bind('blur keyup',function(e) {  
    if (e.type == 'blur' || e.keyCode == '13') { 
        console.log("action fired");
    }
});   

但是当我使用此实现时,然后在浏览器的控制台窗口中我收到以下错误消息:

  

jquery.js:3未捕获DOMException:无法执行'appendChild'   'Node':要删除的节点不再是此节点的子节点。   也许它被移动到'模糊'事件处理程序中?(...)

是否有另一种创建将在模糊和“输入”键上执行的功能的方法?

2 个答案:

答案 0 :(得分:1)

您的代码工作正常如下所示,您获得的错误似乎是因为您尝试将子项附加到已被删除的节点



 $(".formatted-date").bind('blur keyup',function(e) {  
   console.log("asdfs")
    if (e.type == 'blur' || e.keyCode == '13') { 
        console.log("action fired");
    }
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="formatted-date"/>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您的代码按预期工作,请参阅代码段。 确保你也有最新的jQuery版本。

$("#test").bind('blur keyup',function(e) {  
    if (e.type == 'blur' || e.keyCode == '13') { 
        console.log("action fired");
    }
});   
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="test">