Compruebe hacia fuera mi jsFiddle demo, si e.which == 1
luego, cuando hace click h2 lo hará e.which == 2
o e.which == 3
entonces no funcionará. 2 es el botón central del mouse y 3 es el botón derecho del mouse. esto también lo encontré:Jquery: detectar si se hace clic en el botón central o derecho del ratón, si es así, hacer esto:
JQuery proporciona un atributo e.which, que devuelve 1, 2, 3 para el clic izquierdo, medio y derecho, respectivamente. De modo que también podría usar if (e.which == 3) {alert ("clic derecho"); }
Este código no funciona:
código:
$("h2").live('click', function(e) {
if(e.which == 2) {
e.preventDefault();
alert("middle button");
}
});
Sí, me encontré con que 'contextmenu' era una buena manera de anular el menú integrado . Pero tal vez su primera función podría incluirlo en lugar de virarlo al final. No estoy seguro de por qué está usando en vivo, pero usaría '.bind ('mousedown contextmenu', function ...' – Mottie
lol! @fudgey También sé por qué estaba usando live cuando puede usar window.ready y simplemente adjuntarlo directamente, pero creo que debe tener sus razones. Pero sobre el viraje, hace que el código que pone en la instrucción if se ejecute dos veces. – burntblark
en realidad es solo un fragmento de código que copié, así que no tengo ni idea de por qué Estoy usando .live ... jaja, está bien, entonces trabajaré con lo que tengo arriba, pero ¿pensaste que había algo mejor? y usaré '.bind ('mousedown contextmenu', function' –