Prototype cliquez sur, mouseover et mouseout ne peuvent pas travailler ensemble?
Je suis en train de faire une très simple bouton qui change de couleur en fonction mouseover, mouseout et
cliquez sur, je suis en train de faire ce à l'état de prototype et la chose étrange est, si j'ai utilisé mouseover et mouseout,
après j'ai cliqué sur le bouton, le bouton ne serait pas changer en blanc, on dirait que c'est à cause de la mouseout, voici mon code
$("izzy").observe('mouseover', function() {
$('izzy').setStyle({ color: '#FFFFFF' });
});
$("izzy").observe('mouseout', function() {
$('izzy').setStyle({ color: '#666666' });
});
$("izzy").observe('click', function() {
$('izzy').setStyle({ color: '#FFFFFF' });
});
comment puis-je résoudre ce problème? Merci.
OriginalL'auteur shibbydoo | 2008-11-05
Vous devez vous connecter pour publier un commentaire.
Sauf si il y a autre chose qui se passe dans la souris au-dessus et à l'extérieur, pourquoi ne pas utiliser les css?
Cependant, je suis un peu confus sur ce qu'est exactement que vous voulez arriver. En supposant que vous souhaitez que le bouton blanc si elle a été cliqué ou si la souris est au-dessus de lui. J'aurais le gestionnaire d'événements click ajouter un cliqué classe, comme suit:
Et le css comme
Cela a l'avantage de séparer l'état - cliqué/pas de la souris et de la souris au-dessus de/ne pas sur - le style - le noir ou gris. Juste maintenant, ils sont tous mélangés ensemble, de créer de la confusion et de vous ouvrir à de bugs.
OriginalL'auteur sblundy
Voulez-vous dire que vous wan le clic de la souris pour provoquer une permanente changement dans le style qui n'est pas remplacé par mouseout? Si oui, essayez d'utiliser un drapeau, comme suit:
OriginalL'auteur EndangeredMassa
Si vous déplacez le curseur à côté de la touche après avoir cliqué sur elle, le dernier événement mouseout, de sorte qu'il arrive, peu importe si vous cliquez sur ou pas.
Si vous voulez éviter le mouseout effet, lorsqu'il est cliqué, essayez de définir un indicateur en cliquant et abortind l'événement mouseout si le drapeau est réglé.
OriginalL'auteur schonarth
Définir un statut pour empêcher les autres événements:
OriginalL'auteur Diodeus - James MacFarlane
À l'aide de CSS pour le vol stationnaire et une classe sélectionnée pour la couleur de l'élément est probablement le meilleur choix. Toutefois, si vous voulez juste une solution rapide pour le code que vous avez déjà en place, vous pourriez arrêter d'observer le mouseout événement après qu'il a été cliqué.
OriginalL'auteur thoughtcrimes