Vérifiez ma jsFiddle demo, si e.which == 1
puis lorsque vous faites un clic gauche h2 il sera e.which == 2
ou e.which == 3
alors il ne fonctionnera pas. 2 est le bouton central de la souris et 3 est le bouton droit de la souris. J'ai aussi trouvé ceci:Jquery: détecter si le bouton central de la souris ou à droite est cliqué, le cas échéant, faites ceci:
JQuery fournit un attribut e.which, renvoyant respectivement 1, 2, 3 pour un clic gauche, un clic droit et un clic droit. Donc vous pouvez aussi utiliser if (e.which == 3) {alert ("clic droit"); }
Ce code ne fonctionne pas:
Code:
$("h2").live('click', function(e) {
if(e.which == 2) {
e.preventDefault();
alert("middle button");
}
});
Ouais, j'ai trouvé que 'contextmenu' était une façon agréable de passer outre le menu intégré . Mais peut-être que votre première fonction pourrait l'inclure au lieu de le virer à la fin. Je ne sais pas pourquoi il utilise live, mais j'utiliser '.bind ('mousedown contextmenu', fonction ...' – Mottie
lol! @fudgey J'ai aussi tot pourquoi il utilisait live quand il peut utiliser window.ready et juste attachez-le directement, mais il doit avoir ses raisons, mais à propos du virement de bord, il fera en sorte que tout code qu'il met dans l'instruction if s'exécute deux fois – burntblark
en fait c'est juste un extrait de code que j'ai copié, donc je n'ai aucune idée J'utilise .live ... haha, ok, donc je vais travailler avec ce que j'ai ci-dessus, mais avez-vous pensé qu'il y avait quelque chose de mieux? et je vais utiliser '.bind ('mousedown contextmenu', function' –