jQuery的模糊事件是否会将另一个元素集中在页面上?

时间:2011-04-06 15:00:33

标签: jquery events blur detail

我理解调用jQuery事件$(selector).blur();将调用trigger并运行模糊事件处理程序。

这是否会在页面上提供任何其他元素,例如文件,身体,焦点?

N.B。虽然这看起来相当简单但我没有找到有关jQuery API或SO或Google的详细信息。

1 个答案:

答案 0 :(得分:1)

我不认为它会给予任何其他元素关注。它似乎只是完全关注焦点(实际上,不是在IE中看到我的编辑)。我沿着以下几行连接了一个jsfiddle example

<强> HTML

<div id="test">
    <input id="test2" />
    <input id="test3" />
    <input id="test4" />
</div>

<强>的JavaScript

$(function() {
    $('*').focus(function() {
        alert(this.id);
    });
    $('input').keypress(function(evt) {
        if (evt.which == '13') {
            $(this).blur();
            evt.preventDefault();
        }
    });
});

基本上,它会在任何元素获得焦点时发出警报,当您在任何输入框中按Enter键时,它会调用.blur()。在Opera中,没有其他元素在发生这种情在Firefox中,警告框会将焦点从元素上移开,因此您需要使用console.log()而不是alert(),否则它的行为方式相同。

修改
我在IE中检查了它,似乎焦点被改为body元素。如果您使用alert(this);代替alert(this.id);,则表示当输入丢失时,body元素会获得焦点。