2011-02-05 5 views
1

Je suis en train de créer un formulaire Web pour un login. J'ai décidé d'ajouter quelques fonctionnalités que je n'aurais pas normalement. Cependant, je n'arrive pas à les faire fonctionner dans tous les cas. Alors, voici mon problème. Sur le formulaire, au fur et à mesure que vous avancez dans chacune des entrées, une boîte javascript située sur le côté de la page défile et vous informe de cette entrée, c'est-à-dire de ce qu'elle peut entrer, du nombre de caractères restants.javascript gestion des événements

Cela fonctionne très bien avec les zones de texte, car je peux utiliser un gestionnaire d'événements onfocus et onblur. Toutefois, lorsque vous atteignez, par exemple, un div qui a plusieurs cases à cocher, vous ne pouvez pas utiliser exactement les gestionnaires d'événements ci-dessus pour chaque entrée, car ils devraient alors sélectionner une option avant que la boîte ne leur dise de quoi il s'agit. J'ai essayé d'utiliser les gestionnaires d'événements onMouseOver et onMouseOut pour l'ensemble de la div, mais cela ne fonctionne pas de manière fluide.

Alors des suggestions? Peut-être, y at-il un moyen d'activer une fonction si un utilisateur place son curseur sur une certaine partie de l'écran?

espoir ce sens de faire, grâce

Répondre

0

pourrait faire un peu? icône ou quelque chose à côté de celui-ci pour quelqu'un de survoler, et attacher l'événement à cela ...

... de toute façon ... vous sûr que vous le faites bien? un peu de code ... par exemple, cela fonctionne fine..when je Survoler la 2ème case, je reçois l'alerte

<form> 
<input type="checkbox" name="vehicle" value="Bike" /> I have a bike<br /> 
<input onmouseover="alert('test');" type="checkbox" name="vehicle" value="Car" /> I have a car 
</form> 
+0

Je veux que la fonction s'exécute quand elle est sur un div, qui contient plusieurs entrées. Pour moi, quand je l'ai fait, Firebug m'a dit que même quand j'étais au-dessus de la div et que je déplaçais ma souris, le gestionnaire d'événement onMouseOut fonctionnait toujours. – dgamma3

+0

Définissez les valeurs DIV pour chaque zone de texte sans définir le tout en un, puis définissez le paramètre onmouseover de cette variable. –

0

Vous devriez toujours avoir les événements focus/flou sur les cases à cocher, je pense, pour les gens qui utilisent le clavier.

Travaillez-vous avec un framework js? Avec jQuery, vous pouvez simplement faire:

$(function() { 
    $(".div_around_the_checkboxes").hover(function() { 
     // show 
    }, 
    function() { 
     // hide 
    }); 
}); 
+0

quelle est la différence entre un gestionnaire d'événement onMouseOver et onMouseOut? parce qu'il produit toujours le même résultat quand je l'essaie. – dgamma3

+0

Il devrait être "le même", sauf que jquery pourrait être plus sûr et cohérent à travers le navigateur, et a une syntaxe plus agréable. Si vous n'utilisez pas de framework js et que vous avez plus de quelques lignes de js, vous devriez envisager d'en utiliser un. Que voulez-vous dire par "ne fonctionne pas de manière fluide"? (J'ai mis à jour le code ci-dessus) – Robin

Questions connexes