javascript - derecho - Prevenir el clic del botón central del ratón
capturar click derecho js (5)
Intenta usar return false;
en lugar de e.preventScrolling();
Estoy buscando una manera de evitar que el clic del mouse central haga que el navegador comience a desplazarse y muestre el pequeño ''compás'' de desplazamiento.
He visto Desactivar el desplazamiento del clic central con javascript, sin embargo, la solución es un poco más compleja de lo que me gustaría, y no parece ser algo que realmente pueda usar.
Estoy buscando un más definitivo "Así es como lo haces" o "No puedes hacer eso, hijo".
Por supuesto, estoy abierto a hacks y soluciones.
Solo porque las preguntas de SO se ven mejor con el código, esto es lo que estoy usando para cerrar información sobre herramientas al hacer clic derecho o medio.
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();
});
edit: jQuery, JavaScript, lo que sea, vamos a jugar bien ahora :)
Edición 2:
Estoy más interesado en evitar el pequeño ''compás'' de desplazamiento que en detener el desplazamiento de la página. Supongo que eso no estaba muy claro a partir de mi descripción inicial.
No hay necesidad de incluir jQuery solo por esto.
Si está utilizando jQuery, ya hay algunas respuestas excelentes aquí. Si no, puedes usar vainilla JS:
document.body.onmousedown = function(e) { if (e.button === 1) return false; }
Si desea detener el desplazamiento completamente, aquí está el código requerido:
window.onscroll = function() {
document.body.scrollTop = 0;
}
Esto también desactivará efectivamente el botón central ..
Utilizar:
$(''body'').mousedown(function(e){if(e.button==1)return false});
Esto funciona en Chrome: http://jsfiddle.net/PKpBN/3/
document.body.style.overflow=allowScroll?"":"hidden";