您好我在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':要删除的节点不再是此节点的子节点。 也许它被移动到'模糊'事件处理程序中?(...)
是否有另一种创建将在模糊和“输入”键上执行的功能的方法?
答案 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;
答案 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">