聚焦事件循环

时间:2013-01-02 18:06:45

标签: javascript jquery safari

我遇到了问题。我正在使用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/只需点击输入框并再次保留即可。

1 个答案:

答案 0 :(得分:3)

此问题存在一些浏览器差异。因此,使用超时来“模拟”它像“leaveFocus” - 然后再次“焦点” - 事件:

$("#test").focusout( function () {
    window.setTimeout(function() {
        $("#test").focus();
    },1);
});​

像这样它正在发挥作用。

我希望它有所帮助...