2009-05-13 2 views
168

Comment est-ce que je peux déconnecter une zone de texte ou une entrée? Je ne pouvais pas trouver une méthode $('#my-textarea').unfocus();?Existe-t-il une méthode de défocalisation jQuery?

+0

pas non plus la fonction jQuery '.focusout()' qui est légèrement différent de 'blur()' http://api.jquery.com/focusout/, en citant le doc 'Ceci est distinct de l'événement de flou en ce sens qu'il supporte la détection de la perte de focus sur les éléments descendants (en d'autres termes, il prend en charge les bulles d'événements) ' –

Répondre

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

Documentation à: http://api.jquery.com/blur/

+0

Étrange. J'essaie de flouter() avant que la fenêtre ne se mette au point de sorte que lorsque je reviens, la zone de texte n'est pas sélectionnée par défaut. Ne semble pas fonctionner :( –

+0

quelque chose comme $ ('window'). Flou (fonction() { $ ('# textarea'). Blur ( }); –

+0

peut-être vous devez flouter la zone de texte sur le focus de la fenêtre alors? – Geoff

6

Je imagine que vous cherchez .focusout()

+8

-1 'focusout' est activé uniquement après une entrée est déjà commencé à perdre le focus.L'interrogateur veut mettre un élément dans cet état soa gestionnaire de rappel ne lui fera pas de bien https://developer.mozilla.org/en-US/docs/Web/Reference/Events/ focusout http://api.jquery.com/focusout/ – buley

+0

Je cherchais cette méthode et c'était le premier résultat de google pour "jquery select unfocus" –

-10

Vous pouvez le faire

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

essayer et donner votre avis

+8

Il va désactiver la zone de texte, ne pas le perdre de vue. – Kurotsuki

8

Sur la base de votre question , Je crois que la réponse est comment déclencheur flou, pas seulement (ou même) définir l'événement:

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

Cette réponse a plus de sens pour moi. Je voulais savoir comment mettre en surbrillance ou rendre mon texte non ciblé. Je savais que .blur() existait mais je ne comprenais pas vraiment la syntaxe correcte pour cet usage. +1 – Partack

+4

Sans paramètres, '.blur()' est un raccourci pour '.trigger (" flou ")' http://api.jquery.com/blur/ – andreszs

0

Cela fonctionne pour moi:

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