Как я могу снять фокусировку с текстовой области или ввода? Я не мог найти $('#my-textarea').unfocus();метод?
Как я могу снять фокусировку с текстовой области или ввода? Я не мог найти $('#my-textarea').unfocus();метод?
Ответы:
$('#textarea').blur()
Документация по адресу: http://api.jquery.com/blur/
$('#textarea').bind('blur', function() ...)также с
Исходя из вашего вопроса, я считаю, что ответ заключается в том, как вызвать размытие , а не просто (или даже) установить событие:
$('#textArea').trigger('blur');
Думаю, вы ищете .focusout()
focusoutзапускается только после того, как вход уже начал терять фокус. Спрашивающий хочет поместить элемент в это состояние, так что обработчик обратного вызова не поможет ему developer.mozilla.org/en-US/docs/Web/Reference/Events/focusout api.jquery.com/focusout
Это работает для меня:
// Document click blurer
$(document).on('mousedown', '*:not(input,textarea)', function() {
try {
var $a = $(document.activeElement).prop("disabled", true);
setTimeout(function() {
$a.prop("disabled", false);
});
} catch (ex) {}
});
.focusout()которая немного отличается отblur()api.jquery.com/focusout , цитируя документThis is distinct from the blur event in that it supports detecting the loss of focus on descendant elements (in other words, it supports event bubbling)