Quel est le meilleur moyen de détecter quel bouton a été enfoncé dans un DIV dans FireFox en utilisant javascript?Détecter le bouton de la souris pour FireFox en Javascript
Répondre
Il y a deux propriétés pour savoir quel bouton de la souris a été cliqué: quel bouton et. Notez que ces propriétés ne fonctionnent pas toujours sur un événement click. Pour détecter en toute sécurité un bouton de souris, vous devez utiliser les événements mousedown ou mouseup.
qui est une ancienne propriété Netscape. Le bouton gauche donne une valeur de 1, le bouton du milieu (molette de la souris) donne 2, le bouton droit donne 3. Aucun problème, sauf son maigre support (et le fait qu'il soit également utilisé pour la détection des clés).
Maintenant, le bouton a été encrassé au-delà de toute reconnaissance. Selon W3C ses valeurs doivent être:
* Left button – 0
* Middle button – 1
* Right button – 2
Selon Microsoft ses valeurs doivent être:
* Left button – 1
* Middle button – 4
* Right button – 2
Sans doute le modèle Microsoft est mieux que le W3C de. 0 devrait signifier "aucun bouton enfoncé", tout le reste est illogique. En outre, seules les valeurs des boutons du modèle Microsoft peuvent être combinées, de sorte que 5 signifierait "bouton gauche et milieu". Même Explorer 6 ne le supporte pas encore, mais dans le modèle W3C, une telle combinaison est théoriquement impossible: vous ne pouvez jamais savoir si le bouton gauche a également été cliqué. À mon avis, W3C a fait quelques erreurs sérieuses dans la définition du bouton. Clic droit
Heureusement, vous avez le plus souvent besoin de savoir si le bouton droit a été cliqué. Depuis que le W3C et Microsoft se sont mis d'accord sur celui-ci et donnent au bouton une valeur de 2, vous pouvez toujours détecter un clic droit.
function doSomething(e) {
var rightclick;
if (!e) var e = window.event;
if (e.which) rightclick = (e.which == 3);
else if (e.button) rightclick = (e.button == 2);
alert('Rightclick: ' + rightclick); // true or false
}
S'il vous plaît noter que, bien que les Mac ont un seul bouton de la souris, Mozilla donne un Ctrl-clic une valeur de touche de 2, puisque Ctrl-clic permet également le menu contextuel. iCab ne prend pas encore en charge les propriétés des boutons de la souris et vous ne pouvez pas encore détecter un clic droit dans Opera.
[jquery] [1] mentionne comment vous pouvez détecter le bouton de la souris ici: http://api.jquery.com/mousedown/
L'événement mousedown est envoyé lorsqu'un bouton de la souris est cliqué. Pour agir uniquement sur des boutons spécifiques, nous pouvons utiliser la propriété (Les navigateurs ne prennent pas en charge cette propriété (Internet Explorer utilise le bouton à la place), mais jQuery normalise la propriété afin de pouvoir l'utiliser en toute sécurité dans n'importe quel navigateur. La valeur dont sera 1 pour le bouton gauche, 2 pour le bouton central , ou 3 pour le bouton droit .
- 1. Comment détecter la souris en bougeant le bouton gauche
- 2. Comment détecter la souris en bougeant le bouton gauche?
- 3. Comment détecter le clic droit de la souris tout en appuyant sur le bouton gauche de la souris dans IE?
- 4. Comment détecter l'accélération de la souris en javascript?
- 5. WPF Détecter le déplacement de la souris?
- 6. Détecter fb_share bouton javascript cliquez
- 7. Javascript - Détecter si le bouton de la souris est enfoncé lorsque la souris est entrée dans la zone active (la souris a été enfoncée en dehors de cette zone)
- 8. Comment détecter l'inclinaison de la molette de la souris?
- 9. Comment puis-je détecter le bouton de la souris sur un contrôle Winforms?
- 10. Détection bouton gauche de la souris presse
- 11. bouton Détecter clic parent avec javascript
- 12. Evénement JavaScript pour détecter un lien suivi
- 13. Changer le curseur de la souris quand on appuie sur le bouton gauche de la souris?
- 14. Comment faire pour détecter "tab keypress" lorsque le focus est sur un bouton en utilisant JavaScript
- 15. Javascript d'utiliser le clic de la souris pour naviguer?
- 16. Déplacer le pointeur de la souris en JavaScript
- 17. Détecter lorsque la souris entre dans QGraphicsItem avec le bouton enfoncé
- 18. Utilisation de javascript pour détecter le type de navigateur
- 19. Comment détecter un clic de souris pour un bouton avec menu déroulant
- 20. comment désactiver firefox agrandir le bouton pour la fenêtre contextuelle?
- 21. Bouton de la souris dans ToolStripMenuItem
- 22. Déplacez le curseur de la souris en utilisant javascript dans Chrome ou Firefox en utilisant une méthode (Plugin, GreaseMonkey?)
- 23. détecter la souris Déplacer l'événement sur JPanel
- 24. C#: glisser-déposer avec le bouton droit de la souris
- 25. Comment répondre aux clics de la souris en Javascript?
- 26. Appuyez sur le bouton de la souris dans silverlight 3
- 27. Maintenez le bouton gauche de la souris enfoncé dans AutoHotkey
- 28. Détecter lorsque la souris quitte le haut de la page avec jquery
- 29. Simuler le clic de souris/Détecter la couleur sous le curseur en Python
- 30. JavaScript ou gestionnaires d'événements jQuery pour "Ctrl"/"Shift" + bouton gauche de la souris cliquez sur
Formatez votre code. –
+1. Rédaction décente. Une discussion plus longue peut être trouvée ici: http://unixpapa.com/js/mouse.html –
Au moment de ce +1, vérifier 'which' sur un événement' mouseover' diffère entre Chrome et IE/Firefox. Associez-vous définitivement aux événements mouseup/down appropriés pour plus de précision. – Aesthete