jQuery perdre de vue l'objectif de l'événement
J'essaie de montrer un conteneur si un champ de saisie obtient le focus et - ce qui est le problème réel - masquer le conteneur si le focus est perdu. Est-il un en face de l'événement pour jQuery accent?
Un exemple de code:
<input type="text" value="" name="filter" id="filter"/>
<div id="options">some cool options</div>
<script type="text/javascript">
$('#options').hide();
$('#filter').focus(function() {
$('#options').appear();
});
</script>
Et ce que j'aime faire, c'est quelque chose comme ceci:
$('#filter').focus_lost(function() {
$('#options').hide();
});
Vous devez vous connecter pour publier un commentaire.
Utilisation flou événement pour appeler votre fonction lors de l'élément perd le focus :
Comme ceci:
blur
?Utiliser "flou":
http://docs.jquery.com/Events/blur#fn
flou de l'événement: lorsque l'élément perd le focus.
focusout événement: lorsque l'élément, ou de tout élément à l'intérieur d'elle, perd le focus.
Comme il n'y a rien à l'intérieur de l'élément de filtre, à la fois flou et focusout travailleront dans ce cas.
jsfiddle avec le flou: http://jsfiddle.net/yznhb8pc/
jsfiddle avec focusout: http://jsfiddle.net/yznhb8pc/1/
Si " Cool Options sont cachés de la vue avant de le champ est porté ensuite, vous voulez pour créer cette de JQuery au lieu de l'avoir dans les DOM afin que toute personne utilisant un lecteur d'écran ne serait pas voir les informations inutiles. Pourquoi devraient-ils avoir à écouter quand nous n'avons pas à le voir?
De sorte que vous pouvez configurer les variables comme ceci:
puis d'en ajouter (ou préfixe) sur focus
puis retirez lorsque le focus se termine