Ответ 1
вы можете использовать приведенный ниже код для приведения фокуса в div, в этом примере страница прокручивается до <div id="navigation">
$('html, body').animate({ scrollTop: $('#navigation').offset().top }, 'slow');
После завершения функции ajax. в сообщениях о успехе я фокусируюсь на конкретном div. Но это не работает. Мой код здесь.
$j.ajax({
url:"<?php echo admin_url( 'admin-ajax.php' ); ?>",
type:"POST",
data:"action=press_release&page="+0+"&do_task="+do_task+"&id="+id+"&module="+module,
success:function(data){
$j("#com_cont").show();
$j("#com_cont").html(data);
$j("#loading_heart").hide();
$j("#focus_point").focus();
}
});
Это код не работает (не фокусируясь на div: $j("#focus_point").focus();
вы можете использовать приведенный ниже код для приведения фокуса в div, в этом примере страница прокручивается до <div id="navigation">
$('html, body').animate({ scrollTop: $('#navigation').offset().top }, 'slow');
a <div>
можно сфокусировать, если он имеет атрибут tabindex
. (значение может быть установлено на -1)
Например:
$("#focus_point").attr("tabindex",-1).focus();
Кроме того,, рассмотрите настройку outline: none !important;
, чтобы она отображалась без прямоугольника фокусировки.
var element = $("#focus_point");
element.css('outline', 'none !important')
.attr("tabindex", -1)
.focus();
Фокус не работает на divs по умолчанию. Но, в соответствии с этим, вы можете заставить его работать:
Событие фокуса отправляется элементу когда он получает фокус. Это событие неявно применимый к ограниченному набору элементов, таких как элементы формы (
<input>
,<select>
и т.д.) и ссылок (<a href>
). В последнем браузере версии, событие может быть расширено до включают все типы элементов явно устанавливая свойство tabindex. Элемент может получить фокус с помощью команд клавиатуры, таких как клавишу Tab или щелчками мыши на элемент.