我有两个输入,一个是静态的:

<input type="text" class="someclass" />

等动态:
$("<input />", {
    type: "number",
    min: "0"
}).addClass("someclass").appendTo($("#someid"));

此代码在静态输入中可以正常工作:
$(document).on("focusout", ".someclass", function(){ alert("hello!");});

但是对于动态输入生成带有警报的无限循环,这种情况仅发生在Chrome中,有人知道吗?

错误是当焦点放在同一个类的其他输入上时

最佳答案

正如Terry所说,警告框不是解决任何JS问题的最佳方法。

用console.log()替换警报表明该事件仅在Chrome和其他浏览器中触发一次。

$("<input />", {
  type: "number",
  min: "0"
}).addClass("someclass").appendTo($("#someid"));

$(document).on("focusout", ".someclass", function() {
  console.log("alert");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="someclass" />
<div id='someid'>

</div>


看到这个答案:



https://stackoverflow.com/a/6869420/529024

关于javascript - Focusout jQuery中的无限循环,仅在Chrome中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41657036/

10-11 11:08