在jQuery中,我看到blur()链接到focus(),如下所示:
$("input").focus(function(){
$(this).css("background-color", "blue");
}).blur(function(){
$(this).css("background-color", "red");
});
为什么focus事件被激发后blur()不立即执行?当blur()链接到focus()时,它直到字段失去焦点之后才执行,因为它是链接的,我认为它会在focus事件被激发之后立即激发,即使输入字段还没有失去焦点。
当链接非事件函数时,它们总是快速连续地执行
在这种情况下,这些函数立即运行,但这些函数是事件绑定,而不是事件。
因此,模糊事件没有链接到焦点事件,而是通过链接添加事件处理程序。
注意,链接只是允许一个接一个地调用函数,而不需要临时变量。您的代码与以下代码没有区别:
var inp = $("input");
inp.focus(function() { $(this).css("background-color", "blue"); });
inp.blur(function() { $(this).css("background-color", "red"); });