J'ai un peu de mal à combiner les événements HOVER et FOCUS avec jquery. Voilà ce que j'avais à l'origine:JQuery combinant Focus et Hover Events
$("input,textarea").focus(function() {
$(this).parent().siblings('div.exp').removeClass('hide');
$(this).parent().siblings('div.exp').addClass('show');
});
$("input,textarea").blur(function(){
$(this).parent().siblings('div.exp').removeClass('show');
$(this).parent().siblings('div.exp').addClass('hide');
if ($(this).val().length <= 0) {
$(this).siblings('span.warning').removeClass('hide');
$(this).siblings('span.warning').addClass('show');}
else {
$(this).siblings('span.warning').removeClass('show');
$(this).siblings('span.warning').addClass('hide');
}
});
Fondamentalement, j'ai un formulaire de contact de l'utilisateur avec des lignes comme celui ci-dessous:
<div class="row">
<p><label>Your Name</label><input type="text" name="name" id="name" value=""/><span class="warning">Your name is missing</span></p>
<div class="exp">Who am I to address?</div>
</div>
Le point de mon code Jquery est de produire un div caché (exp) lorsque l'utilisateur effectue la mise au point d'un élément d'entrée ou de zone de texte et vérifie si la valeur de cette entrée n'est pas vide lors du flou (flou) de l'élément. (Je ne suis pas encore vraiment arrivé à la validation, alors vérifier la longueur de la chaîne en ce moment n'est qu'un remplissage temporaire). Si l'élément a une chaîne plus petite ou égale à 0, span.warning doit être 'montré' à l'utilisateur.
Tout cela fonctionne bien. Où je suis coincé est le suivant:
Je veux ajouter en vol stationnaire, mais sans conflit avec le focus. Mon effet final désiré est le suivant:
Vous passez votre souris sur n'importe quelle entrée ou zone de texte et vous obtenez le div.exp (exp pour explication). Vous vous concentrez sur n'importe quelle entrée ou zone et le div.exp reste là, même si vous allez survoler d'autres entrées ou zones de texte. Si vous planez une entrée déjà ciblée, rien ne devrait arriver. Donc, en un mot, les éléments de mise au point et de survol doivent fonctionner «indépendamment» pour ainsi dire. Je ne sais pas si je me suis fait clair, mais oh bien, j'ai essayé =)
Vive G
Wow, merci beaucoup. Je ne sais pas pourquoi je n'ai pas simplement utilisé le show de Jquery et je me suis caché. Oh bien, idiot moi. Merci encore pour votre aide! – Sotkra