Как убрать фокус, используя jQuery?

Не так принципиально, какой библиотекой мы воспользуемся, когда будем убирать фокус, я привык использовать jQuery. Потому речь пойдет в контексте этой библиотеки.

Сложностей с тем как снять фокус с элемента традиционно больше, чем с тем, как его установить. Связано это прежде всего с названием события — blur. Т.е. не onfocus, не looseFocus и т.п, как можно ожидать.

Выполнить действие можно одной командой, например:

Т.е. нужно использовать вызов функции blur() без параметров. Вызываются все обработчики, связанные с этим событием.

Если потеря фокуса должна быть отложенной (т.е. через некоторое время), то можно прибегнуть к старому трюку с setTimeout().

Главное не ошибиться с контекстами, вот так работать будет:

После получения фокуса, пройдет 2 секунды и textarea потеряет фокус ввода.

А вот так нет:

Вот так работать будет, но не так как надо:

Все обработчики события blur будут вызваны, но мы находится внутри обработчика focus, курсор при этом из textarea не пропадет.

Написать комментарий

Мало букафф? Читайте есчо !

Как определить из скрипта, что fancybox popup уже открыт?

Декабрь 13, 2018 г.

Если пользуетесь jQuery плагином fancybox, то могли сталкиваться с тем, что необходимо увязать логику каких то других скриптов с фактом, показан ли попап ...

Читать

jQuery плагин для ввода диапазона значений

Февраль 22, 2017 г.

Подбирал плагин, реализующий компонент для выбора диапазона чисел. Перебрал не мало "добра", были и некоторые довольно свежие плагины, но остановил свой ...

Читать

 

Комментарии к «Как убрать фокус, используя jQuery?»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: