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

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

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

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

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

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

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

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

А вот так нет:

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

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

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

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

Виджетик для сравнения двух картинок

Ноябрь 1, 2015 г.

Этот виджет может найти применение для сайта дизайнера или фотографа, которые занимаются реставрацией или обработкой изображений. Наверное, приложений ...

Читать

Когда jQuery.find может не работать

Декабрь 8, 2012 г.

Обычно, "проблема" возникает с данными, получаемыми через асинхронные запросы (ajax-запрос). Вы пытаетесь выполнить jQuery.find() для полученных данных, а функция возвращает пустой объект. В примере ниже, мы пытаемся извлечь содержимое HTML контейнера ...

Читать

 

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

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



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