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

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

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

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

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

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

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

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

А вот так нет:

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

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

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

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

Связанные списки select с получением данных по ajax

Декабрь 15, 2016 г.

В прошлый раз я показывал как можно "на лету" создавать списки html select, данные которых содержались в специальном javascript массиве. Подготовить такой ...

Читать

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

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

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

Читать

 

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

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



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