Foros del Web » Programando para Internet » Javascript »

Bloquear combinación extraña: Shift + Rueda del ratón

Estas en el tema de Bloquear combinación extraña: Shift + Rueda del ratón en el foro de Javascript en Foros del Web. Muy buenas gente, Me estoy volviendo loco. Estoy intentando bloquear la combinación de shift + la rueda del ratón y no hay forma. A alguien ...
  #1 (permalink)  
Antiguo 31/05/2011, 02:27
 
Fecha de Ingreso: noviembre-2004
Mensajes: 125
Antigüedad: 20 años, 1 mes
Puntos: 0
Bloquear combinación extraña: Shift + Rueda del ratón

Muy buenas gente,

Me estoy volviendo loco. Estoy intentando bloquear la combinación de shift + la rueda del ratón y no hay forma. A alguien se le ocurre cómo?
Tengo el siguiente código que encontré que coge el movimiento de la rueda:

Código PHP:
function handle(delta) {
    var 
delta ": ";
    if (
delta 0)
        
+= "down";
    else
        
+= "up";
    
    
alert(s);
}

function 
wheel(event){
    var 
delta 0;
    if (!
eventevent window.event;
    if (
event.wheelDelta) {
        
delta event.wheelDelta/120
        if (
window.operadelta = -delta;
    } else if (
event.detail) {
        
delta = -event.detail/3;
    }
    if (
delta)
        
handle(delta);
}

/* Initialization code. */
if (window.addEventListener)
    
window.addEventListener('DOMMouseScroll'wheelfalse);
window.onmousewheel document.onmousewheel wheel
Un saludo, y gracias por las respuestas!
  #2 (permalink)  
Antiguo 31/05/2011, 02:58
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Bloquear combinación extraña: Shift + Rueda del ratón

buenas,
ese codigo lo unico que te muestra es como registrar el evento (DOMMouseScroll, onmousewheel), detectar la propiedad segun el navegador (funcion wheel), y un handler que determina la direccion en que se rodo la rueda (funcion handler). lo que tu necesitas es determinar si la tecla SHIFT se mantuvo pulsada cuando el evento ocurrio. para ello debes leer la propiedad shiftKey del objeto event capturado en el handler asignado al evento. en el ejemplo, el handler es la funcion wheel. luego de determinar su valor, decides si cancelar o no el evento devolviendo false o invocando el metodo preventDefault desde el objeto event.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 31/05/2011, 04:23
 
Fecha de Ingreso: noviembre-2004
Mensajes: 125
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: Bloquear combinación extraña: Shift + Rueda del ratón

Muy buenas de nuevo,
Lo primero, muchas gracias por la respuesta. He leído y releído tu respuesta, intentando encontrar el método. Lo siento mucho, pero no consigo encontrar la manera de cómo leer la propiedad shiftKey y asignarlo al evento, y cómo invocar el método preventDefault...

Gracias de nuevo!!
  #4 (permalink)  
Antiguo 31/05/2011, 05:03
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Bloquear combinación extraña: Shift + Rueda del ratón

entonces, lo que te hace falta es comprender como funciona el modelo de evento. aca tienes un buen articulo, http://kusor.net/traducciones/brainj...vents1.es.html. en resumen, el handler recibe como argumento un objeto event y desde dentro de esta funcion puedes utilizar el objeto para leer las diferentes propiedades o invocar sus metodos.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: bloquear, combinación, shift
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:30.