Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как перевести фокус на следующий элемент? (https://javascript.ru/forum/jquery/32892-kak-perevesti-fokus-na-sleduyushhijj-ehlement.html)

Shitbox2 03.11.2012 00:07

Как перевести фокус на следующий элемент?
 
Что-то не могу найти, как установить фокус на следующий элемент, т.е. симулировать нажатие ТАБ. Так же не понятно как убрать рамочку фокуса.

С последним, вообще, интересно. К примеру, у нас есть ссылка, которая никуда не ведет (обрабатывается скриптом с return false), после нажатия, фокус устанавливается на ней, но не обозначен желтой рамкой. Если же пользователь дошагает до ссылки ТАБом, то рамка вокруг нее появится. Как ее скрыть, не убирая сам фокус. И, вообще, от чего зависит появление фокуса с рамкой и без рамки?

walik 03.11.2012 00:20

Цитата:

Сообщение от Shitbox2
Что-то не могу найти, как установить фокус на следующий элемент

$(element).trigger('focus');


Цитата:

Сообщение от Shitbox2
Так же не понятно как убрать рамочку фокуса.

a {
   outline: none;
}

Shitbox2 03.11.2012 00:54

Не-не, как убрать рамочку не ЦССом. Ведь если нажать на ссылку, то рамочка на ней не появляется, а фокус есть, хотя в ЦСС рамочка как была прописана, так и осталась.

$(element).trigger('focus') установит фокус на $(element), а я его не знаю. Нужно найти элемент, который будет следующим при нажатии на ТАБ, в этом-то и подвох

P.S. Вообще, фокусы странно себя ведут даже на этом сайте. К примеру, если щелкать ТАБом, то рамочка пойдет по ссылкам ... «Ответить» → «Опции темы» → «Искать в теме» → «#1» ... Но если, к примеру, раскрыть и закрыть меню «Опции темы» и нажать таб, то фокус сразу устанавливается на форму ввода комментария. Почему так?

walik 03.11.2012 15:57

Цитата:

Сообщение от Shitbox2
К примеру, если щелкать ТАБом, то рамочка пойдет по ссылкам

Это и есть свойство "outline". Если его свойство будет "none" то никакой рамочки не будет при фокусе.

<textarea autofocus>Нажми на меня.  Тут при фокусе есть рамка. А теперь жми таб</textarea><br /><br />

    <a href="#">А вот тут при фокусе уже нет рамки</a>
    
    <style>
      textarea {
      	width: 300px;
      }
      
      a {
        outline: none;	
      }
    </style>


Часовой пояс GMT +3, время: 10:10.