Czy istnieje metoda cofania ostrości jQuery?

193

Jak mogę cofnąć ostrość obszaru tekstowego lub danych wejściowych? Nie mogłem znaleźć $('#my-textarea').unfocus();metody?

Alec Smart
źródło
także nie jest to funkcja jQuery, .focusout()która różni się nieco od blur() api.jquery.com/focusout , cytując dokumentThis 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

Odpowiedzi:

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

Dokumentacja: http://api.jquery.com/blur/

RichieHindle
źródło
Dziwne. Próbuję rozmyć (), zanim okno straci ostrość, aby po powrocie pole tekstowe nie było domyślnie zaznaczone. Nie wydaje się działać :(
Alec Smart
coś takiego jak $ („okno”). blur (function () {$ ('# textarea'). blur ();});
Alec Smart
może wtedy musisz rozmyć obszar tekstowy po zaznaczeniu okna?
Geoff
7
być może próbujesz powiązać zdarzenie przed załadowaniem DOM. Spróbuj umieścić kod w gotowym module obsługi strony w następujący sposób: $ (dokument) .ready (function () {$ ('# textarea'). Blur ()})
świetnie współpracuje $('#textarea').bind('blur', function() ...)również z
Fedir RYKHTIK
10

W oparciu o twoje pytanie, uważam, że odpowiedzią jest, jak wywołać rozmycie , a nie tylko (lub nawet) ustawić wydarzenie:

 $('#textArea').trigger('blur');
sonjz
źródło
Ta odpowiedź była dla mnie bardziej sensowna. Chciałem wiedzieć, jak odznaczyć lub sprawić, by wprowadzanie tekstu nie było skoncentrowane. Wiedziałem, że istnieje .blur (), ale tak naprawdę nie zrozumiałem poprawnej składni dla tego użycia. +1
Partack
7
Bez parametrów .blur()jest skrótem do .trigger("blur") api.jquery.com/blur
andreszs
0

To działa dla mnie:

// 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 Evergreen Barbosa
źródło
0

Podoba mi się następujące podejście, które działa we wszystkich sytuacjach:

$(':focus').blur();
Javid
źródło
-12

Możesz to zrobić

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

spróbuj i przekaż opinię

lol
źródło
11
Wyłączy obszar tekstowy, a nie cofnie go.
Kurotsuki