Подтвердить что ты не робот

Как заставить потерять фокус всех полей в форме в jQuery

Когда поле ввода изменяется (onchange), я запускаю функцию для установки переменной. Единственная проблема заключается в том, что сначала поле должно терять фокус до того, как будет установлена ​​переменная, и я могу проверить, изменилось ли поле (-ы), это то, что я хочу сделать, когда пользователь нажимает на вкладку, поэтому я могу проверить, пользователь забыл представить свою форму на предыдущей вкладке. Ho, чтобы заставить потерять фокус всех возможных полей, значит, сначала может произойти событие onchange?

4b9b3361

Ответ 1

Вы можете использовать это:

$(':focus').blur()

Если на вашем сайте нет jQuery, вы можете заменить его на:

let el = document.querySelector( ':focus' );
if( el ) el.blur();

Ответ 2

Вы можете запустить событие .blur()

$('SomeElement').blur(function () {
   // do whatever
});

$('SomeElement').blur();

Ответ 3

Вам не нужен jQuery для этого; vanillaJS может сделать это тоже.

document.activeElement.blur();

Примечание. Обычно я проверял бы null-ness перед вызовом метода, но activeElement будет возвращать null, только если нет узла ‹body›, поэтому этот прямой вызов довольно безопасен.