这是仅在chrome中一次又一次触发Onblur的代码,在IE中正常工作。在Firefox中,问题出现在创建两个输入元素上......任何人都可以帮助我吗?我希望模糊上的警报(在实际代码中我们检查表中的重复项,如果发现重复则发出警报,此代码只是一个示例,证明了我的需要)并在点击"行"在警报框中,我想重新获得焦点。 请在IE中查看正确的行为。
$(document).ready(function() {
$("button").click(function() {
$("div").append('<input type="text" name="txtCompanyName" maxlength="100" class="Company" style="margin-bottom:0px;width:170px"/>')
});
// With on():
$("div").on("blur", ".Company", function() {
alert($(this).text());
$(".Company").focus();
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<html>
<head>
</head>
<body>
<div></div>
<button>generate new element</button>
</body>
</html>
&#13;
有趣的事情 - 当chrome重复开始触发事件时你会感到厌倦了按下&#34; OK&#34;一次又一次,然后移动到Chrome中的其他选项卡,然后返回到此选项卡,单击&#34;确定&#34;,问题解决了该模糊实例。 MAGIC ??
答案 0 :(得分:1)
$("div").on("blur", ".Company", function() {
alert($(this).text());
$(".Company").focus();
})
焦点和模糊实际上是对立的。因此,如果您的焦点(模糊),则将其焦点设置回公司,并将公司附加到div。所以它无限期地循环。