JQuery:ajax 加载后聚焦文本域

4

我正在使用Ajax加载表单的部分内容。如何在Ajax请求后将焦点聚焦到文本域对象上?

这是加载的HTML代码:

<legend>Test</legend>
<label for="t">This is only a test</label>
<textarea></textarea>
<a href="#" class="continue">Continue</a>

这是 JQuery/Ajax 代码:

$.post(
    'ajax.php',
    { next:next },
    function(data){
        $('body').append($(data).hide().fadeIn('slow'));
    }
);

感谢您的选择。
2个回答

9
在您附加 HTML 后,在回调函数中使用 .focus() 触发器。
$.post(
    'ajax.php',
    { next:next },
    function(data){
        $('body').append($(data).hide().fadeIn('slow'));
        $('textarea').focus();
    }
);

1
这段代码会查找 HTML 中的 "autofocus" 属性,并将焦点放在指定的元素上。
$('[autofocus]').focus()

如果视图是通过Ajax加载的,则可以正常工作,如果没有JavaScript并且视图是不通过ajax加载的,则仍然可以获得自动聚焦。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接