jQuery .focus()回调不起作用

dev*_*s11 3 javascript jquery focus input

我只是不明白,为什么这种.focus回调方式不起作用?

$('a.focus').click(function(){
    $('form input:first').focus(function(){
        console.log('done focus');         
    });
});  
Run Code Online (Sandbox Code Playgroud)

现场演示:http://jsfiddle.net/SHxbj/

我在这里做错了什么?

j08*_*691 8

为什么不这样做:

$('a.focus').click(function() {
    $('form input:first').focus();
});
$('form input:first').focus(function() {
    console.log('focused');
});?
Run Code Online (Sandbox Code Playgroud)

第一个块绑定链接上的单击以将光标聚焦在输入字段中,第二个块将焦点事件绑定在输入字段上并将消息发送到控制台.

jsFiddle例子.


sim*_*aun 6

$('form input:first').focus(function(){
    console.log('done focus');         
});
Run Code Online (Sandbox Code Playgroud)

该代码块将事件绑定到第一个表单输入,而不是在单击链接时执行焦点回调.您的代码按预期工作,而不是您可能正在思考的方式.尝试单击该链接,然后单击第一个输入.

你可能想要这个:

$('form input:first').focus();
console.log('done focus');
Run Code Online (Sandbox Code Playgroud)