2010-01-21 12 views
0

J'ai besoin d'un moyen de savoir quand l'utilisateur a relâché le bouton de la souris - quelque chose comme keyUp - mais pour la souris ...onMouseButtonUp

Des idées? PS: Je veux imiter: pseudo classe active, et mon idée était de faire quelque chose() sur mousePress, et UnDoSomething() sur mouseButtonUp ... maintenant ... si vous avez une meilleure solution - hit me up! :)

+0

mousePress serait ** onmousedown * * ... mouseButtonUp est ** onmouseup ** – scunliffe

Répondre

1

L'événement est onmouseup: http://www.w3schools.com/jsref/event_onmouseup.asp

Ou mouseup si vous appelez element.addEventListener ou d'utiliser l'un des cadres JavaScript qui laissent tomber la « sur » une partie du nom.

Mise à jour:

Si vous souhaitez écouter une souris vers le haut événement, vous aurez besoin d'enregistrer un écouteur onmouseup sur le corps de la page dans votre rappel onmousedown et désenregistrer l'écouteur onmouseup de dans le callback onmouseup (donc ça n'arrive qu'une fois).

Si vous utilisez jQuery, cela peut être accompli avec la fonction one().

Bien sûr, si l'utilisateur déplace sa souris en dehors de la fenêtre du navigateur avant de relâcher son bouton, vous n'obtiendrez pas l'événement mouseup. Je ne suis pas sûr s'il y a quelque chose que vous pouvez faire à ce sujet.

+0

Oui, mais cela ne fonctionne pas pour moi, parce que l'utilisateur peut libérer le bouton de la souris loin de l'élément. MouseUp fonctionne seulement si vous êtes au-dessus d'un élément donné. J'ai besoin de travailler sur quelque chose. – Popara

+0

Je fais une application de fenêtre maximisée - donc, fondamentalement, je ne me soucie pas des situations hors de la fenêtre. Merci - vous avez fait quelque chose de clair pour moi :) – Popara

1

Ce que vous cherchez peut-être quelque chose comme:

<button onmouseup="alert('hello world');">Say hello world on mouse-up</button>