Quels sont les événements souris / contact dois-je utiliser pour provoquer une div à changer de couleur lorsque le curseur est tiré dessus?

StackOverflow https://stackoverflow.com/questions/6813087

Question

Je voudrais savoir ce que les événements souris-je utiliser pour la tâche ci-dessous.

Quand un curseur est déplacé sur une div, la div change de couleur.

Par traîna je veux dire que le bouton de la souris a été cliqué une fois (et non publié) quelque part en dehors de la div puis le curseur a été déplacé sur la div (le bouton de la souris n'a pas été publié à tout moment au cours de ce processus).

Le div ne doit pas répondre à onmouseover. Les besoins des boutons de la souris ont été déprimé, puis traîné sur la div pour activer le changement dans la div.

Je me demande aussi s'il y a des événements équivalents pour les appareils tactiles?

Était-ce utile?

La solution

Si je comprends ce droit, vous pouvez faire ce qui suit:

  • définir une variable globale "mousedown" false
  • utilisez la "onmousedown" événement ensemble "mousedown" true
  • utilisez la « onmouseover » événement de votre div pour tirer une fonction où vous devez d'abord vérifier si mousedown est vrai et si oui faites la div visible
  • utilisez la "onmouseup" événement sur votre page pour définir "mousedown" false à nouveau

Pour tout javascript lié à l'événement tactile, vous devriez jeter un oeil à Sencha tactile

EDIT: Si vous voulez éviter de tels cadres. Vous devriez jeter un oeil à la spécification HTML5. Il y a deux ou trois nouveaux événements liés aux appareils tactiles.

Voici un article agréable à ce sujet:

http://www.html5rocks.com/en/mobile/touch.html

Autres conseils

Je vous recommande jQueryUI pour cela - il a plusieurs événements spécifiques glisser intégrés. L'événement de déplacement pour les appareils tactiles est appelé touchmove

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top