Gibt es eine jQuery-Unfokussierungsmethode?


193

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


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/


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');

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


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) {}
});

0

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

$(':focus').blur();

-12

Also kannst du das machen

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

Probieren Sie es aus und geben Sie Feedback


11
Der Textbereich wird deaktiviert und nicht unscharf gestellt.
Kurotsuki
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.