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

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

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

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

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

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

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

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

А вот так нет:

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

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

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

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

Создаём ripple эффект

Апрель 29, 2017 г.

Ripple эффект - это анимация, визуально напоминающая расходящийся круг. Иногда накладывают несколько эффектов сразу и это выглядит как расходящиеся круги ...

Читать

Подключаем fancybox в Drupal 6

Сентябрь 1, 2013 г.

Fancybox - известный плагин jQuery для создания эффекта "просмотра в окошке". Давайте подключим его в 6-ю версию Drupal. Ряд "деятелей" предлагают поставить для этой цели, кроме самой библиотеки, ещё два плагина - jquery_update и fancybox. Определенный ...

Читать

 

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

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



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