Wie kann ich einen Textbereich oder eine Eingabe aufheben? Ich konnte keine $('#my-textarea').unfocus();
Methode finden?
Wie kann ich einen Textbereich oder eine Eingabe aufheben? Ich konnte keine $('#my-textarea').unfocus();
Methode finden?
Antworten:
$('#textarea').blur()
Dokumentation unter: http://api.jquery.com/blur/
$('#textarea').bind('blur', function() ...)
auch
Aufgrund Ihrer Frage glaube ich, dass die Antwort darin besteht, eine Unschärfe auszulösen und nicht nur (oder sogar) das Ereignis festzulegen:
$('#textArea').trigger('blur');
Vermutlich suchen Sie .focusout()
focusout
wird erst ausgelöst, nachdem eine Eingabe bereits gestartet wurde, um den Fokus zu verlieren. Der Fragesteller möchte ein Element in diesen Zustand versetzen, damit ein Rückruf-Handler ihm keinen guten Entwickler bringt.
Das funktioniert bei mir:
// 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()
, die sich geringfügig vonblur()
api.jquery.com/focusout unterscheidet und das Dokument zitiertThis 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)