我遇到了问题。我正在使用jQuery 1.8.2。我想对一个焦点事件作出反应,并将fcs重置为在特殊条件下留下的元素。现在我得到了这个非常简单的codesnippet,它会在safari中陷入一个循环中,我不明白为什么会发生这种情况......也许你可以帮助我,这是一个非常简单的例子:
JS:
$("#test").focusout( function () {
alert("FocusOut event got triggered.");
$("#test").focus();
});
HTML:
<input type="text" id="test" />
也许你想尝试这个演示: http://jsfiddle.net/ds38v/3/只需点击输入框并再次保留即可。
答案 0 :(得分:3)
此问题存在一些浏览器差异。因此,使用超时来“模拟”它像“leaveFocus” - 然后再次“焦点” - 事件:
$("#test").focusout( function () {
window.setTimeout(function() {
$("#test").focus();
},1);
});
像这样它正在发挥作用。
我希望它有所帮助...