#jquery #ajax #focus
#jquery #ajax #фокус
Вопрос:
Я использую 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'));
}
);
Спасибо.
Ответ №1:
Используйте триггер .focus() в обратном вызове после добавления html:
$.post(
'ajax.php',
{ next:next },
function(data){
$('body').append($(data).hide().fadeIn('slow'));
$('textarea').focus();
}
);
Ответ №2:
Этот фрагмент ищет атрибут «автофокусировки» в вашем HTML-файле и фокусируется на данном элементе.
$('[autofocus]').focus()
Таким образом, если представление загружается в Ajax, оно работает, и если нет JavaScript и представление загружается без ajax, вы все равно получаете автофокусировку.