J'essaye de configurer une interface utilisateur Javascript assez simple (imo) et je rencontre des problèmes. J'utilise jQuery. Voici ce que je veux faire:Problèmes d'interface utilisateur Javascript avec le barbotage d'événements
ont un tas de places à côté du texte, comme ceci:
[ ] Text next to square
[ ] Text next to square 2
[ ] Text next to square 3
[ ] Text next to square 4
Lorsque vous cliquez sur l'une des places, un div flottant position absolue apparaît. Ce div flottant a quelques options d'interface.
À ce stade, si l'utilisateur clique n'importe où en dehors de la div flottante, la div devrait disparaître. Si l'utilisateur clique sur une autre case, la div d'origine devrait disparaître et une nouvelle devrait apparaître.
Je suis capable de faire apparaître les divs flottantes correctement, mais j'ai du mal à les cacher. Ce que je fais actuellement est attaché un gestionnaire de clic à $(document)
dans la fonction qui montre la div flottante. Code simplifié est ci-dessous:
show(jqueryObj)
{
jqueryObj.show();
$(document).one("click", function() { jqueryObj.hide(); });
}
(Afficher est lié à un coup de langue sur l'un des [ ]
boîtes ailleurs)
Le problème que je cours en est que l'événement click semble bouillonner, et function() { jqueryObj.hide(); }
est exécuté immédiatement. J'ai essayé de retourner false
dans show()
, mais cela n'a pas semblé résoudre le problème. Que devrais-je faire ici?