Gibt es eine jQuery-Unfokussierungsmethode?

193

Wie kann ich einen Textbereich oder eine Eingabe aufheben? Ich konnte keine $('#my-textarea').unfocus();Methode finden?

Alec Smart
quelle
auch nicht die jQuery-Funktion .focusout(), die sich geringfügig von blur() 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)
Adrien Be

Antworten:

335
$('#textarea').blur()

Dokumentation unter: http://api.jquery.com/blur/

RichieHindle
quelle
Seltsam. Ich versuche, () zu verwischen, bevor das Fenster den Fokus verliert, sodass bei meiner Rückkehr der Textbereich nicht standardmäßig ausgewählt ist. Scheint nicht zu funktionieren :(
Alec Smart
so etwas wie $ ('window'). blur (function () {$ ('# textarea'). blur ();});
Alec Smart
Vielleicht müssen Sie dann den Textbereich im Fensterfokus verwischen?
Geoff
7
Möglicherweise versuchen Sie, das Ereignis zu binden, bevor das DOM geladen wird. Versuchen Sie, den Code wie folgt in den Ready-Handler der Seite einzufügen: $ (document) .ready (function () {$ ('# textarea'). Blur ()})
arbeitet gut mit $('#textarea').bind('blur', function() ...)auch
Fedir RYKHTIK
10

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');
sonjz
quelle
Diese Antwort ergab für mich mehr Sinn. Ich wollte wissen, wie ich meine Texteingabe aufheben oder unscharf machen kann. Ich wusste, dass .blur () existiert, aber ich habe die richtige Syntax für diese Verwendung nicht wirklich verstanden. +1
Partack
7
Ohne Parameter .blur()ist eine Verknüpfung für .trigger("blur") api.jquery.com/blur
andreszs
7

Vermutlich suchen Sie .focusout()

Adam Boostani
quelle
10
-1 focusoutwird 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.
Mozilla.org/en-US/docs/Web/Reference/Events/focusout
Ich suchte nach dieser Methode und dies war das erste Google-Ergebnis für "jquery select unfocus"
Maschinen Sehnsucht
0

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) {}
});
d'Artagnan Immergrüne Barbosa
quelle
0

Ich mag den folgenden Ansatz, da er in allen Situationen funktioniert:

$(':focus').blur();
Javid
quelle
-12

Also kannst du das machen

$('#textarea').attr('enable',false)

Probieren Sie es aus und geben Sie Feedback

lol
quelle
11
Der Textbereich wird deaktiviert und nicht unscharf gestellt.
Kurotsuki