Existe um método de desfocagem jQuery?


193

Como posso desfocar uma área de texto ou entrada? Não consegui encontrar um $('#my-textarea').unfocus();método?


também não é a função jQuery, .focusout()que é um pouco diferente de blur() api.jquery.com/focusout , citando o documentoThis 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 Seja o

Respostas:


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

Documentação em: http://api.jquery.com/blur/


Estranho. Estou tentando desfocar () antes que a janela perca o foco para que, quando eu voltar, a área de texto não seja selecionada por padrão. Parece não funcionar :(
Alec Smart

algo como $ ('window'). blur (function () {$ ('# textarea'). blur ();});
Alec inteligente

talvez você precise desfocar a área de texto no foco da janela?
Geoff

7
pode ser que você esteja tentando vincular o evento antes do carregamento do DOM. Tente colocar o código no manipulador de pronto da página como esta: $ (document) .ready (function () {$ ( '# textarea') blur ().})

funciona muito bem com $('#textarea').bind('blur', function() ...)também
Fedir RYKHTIK 22/03/12

10

Com base na sua pergunta, acredito que a resposta é como acionar um desfoque , não apenas (ou mesmo) definir o evento:

 $('#textArea').trigger('blur');

Essa resposta fez mais sentido para mim. Eu queria saber como destacar ou deixar minha entrada de texto sem foco. Eu sabia que .blur () existia, mas realmente não entendia a sintaxe correta para esse uso. +1
Partack

7
Sem parâmetros, .blur()é um atalho para .trigger("blur") api.jquery.com/blur
andreszs


0

Isso funciona para mim:

// 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

Gosto da seguinte abordagem, pois funciona para todas as situações:

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.