@andreystrelkov

Как сделать установку автофокуса поля при первичной загрузке страницы?

Добрый день, у меня есть задача, когда загружается страница сразу ставить каретку в поле form-text, использую следующий код

(function($, Drupal)
{
  Drupal.behaviors.autoFocus = {
    attach:function()
    {
      $(".form-text:first").focus();
    }
  };
}(jQuery, Drupal));


однако страница у меня длинная, и на ней есть различные ajax ссылки, при нажатии на которые данный скрипт снова запускается и снова ставит каретку, соответственно браузер скроллирует к полю,
как можно сделать чтобы это действие срабатывало только при первой загрузке страницы, и не реагировало на ajax действия на странице
  • Вопрос задан
  • 141 просмотр
Решения вопроса 1
crazy_leo
@crazy_leo
Frontend Developer
Если это Ajax ссылкы, т.е без полной перезагрузки страницы, просто сделай примерно так
var focused = false;
(function($, Drupal)
{
  Drupal.behaviors.autoFocus = {
    attach:function()
    {
     !focused && $(".form-text:first").focus();
     focused = true;
    }
  };
}(jQuery, Drupal));
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@jimquery
Отмени это событие после первого использования.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы