Estoy buscando una manera de evitar que el clic central del mouse haga que el navegador comience a desplazarse y muestre la pequeña 'brújula' de desplazamiento.
He visto Deshabilitar el desplazamiento del clic central con javascript , sin embargo, la solución es un poco más complicada de lo que me gustaría, y no parece algo que realmente pueda usar.
Busco un más definitivo "Así es como se hace" o "Tú no puedes hacer eso, hijo".
Por supuesto, estoy abierto a hacks y soluciones alternativas.
Solo porque las preguntas SO se ven mejor con el código, esto es lo que estoy usando para cerrar la información sobre herramientas al hacer clic con el botón derecho o central.
msg.mousedown(function(e) { if (e.which == 2) { //middle mouse click msg.hide(); e.preventScrolling(); //if only this worked... } else if (e.which == 3) { //right mouse click msg.hide(); } }).bind('contextmenu', function(e) { e.preventDefault(); }).click(function(e) { e.stopPropagation(); });editar: jQuery, JavaScript, lo que sea, juguemos todos bien ahora :)
Edición 2:
Estoy más interesado en evitar la pequeña 'brújula' de desplazamiento que en evitar que la página se desplace. Supongo que eso no estaba muy claro en mi descripción inicial.
Usar:
$('body').mousedown(function(e){if(e.button==1)return false});Esto funciona en Chrome: http://jsfiddle.net/PKpBN/3/
No es necesario incluir jQuery solo para esto.
Si está utilizando jQuery, ya hay algunas excelentes respuestas aquí. Si no, puedes usar Vanilla JS:
document.body.onmousedown = function(e) { if (e.button === 1) return false; }probado con la versión actual de firefox y chrome
document.body.onmousedown = function(e) { if(e.button == 1) { e.preventDefault(); return false; } }