2010-03-21 18 views

Respuesta

112

Usted puede hacer algo como esto (jQuery para el controlador de clic, pero cualquier marco funciona en la parte que importa):

$(selector).click(function(e) { 
    if(e.shiftKey) { 
    //Shift-Click 
    } 
    if(e.ctrlKey) { 
    //Ctrl+Click 
    } 
    if(e.altKey) { 
    //Alt+Click 
    } 
}); 

encarga solamente de lo que usted quiere dentro de un if dentro del controlador de clic como si tuviera encima.

+0

impresionante. Gracias. funcionó en IE 6 también –

9

Si utiliza el complemento JQuery llamado hotkeys, puede manejar las teclas especiales que se encuentran a continuación.

$(document).bind('keydown', 'Ctrl+c', fn); 
+0

ahora puedes encontrarlo en github: https://github.com/jeresig/jquery.hotkeys – Luke

7

Más recientemente me encontré con un problema con el uso e.ctrlKey en que, no funciona en Macs. En un Macintosh, el mismo efecto se logra usando Comando + clic.

Dado que la mayoría de las respuestas anteriores ya están asumiendo el uso de jQuery, puede simplemente usar la propiedad e.metaKey que está disponible por jQuery.

p. Ej.

$(selector).click(function(e) { 
    if(e.shiftKey) { 
    //Shift-Click 
    } 
    if(e.metaKey) { 
    //Ctrl+Click on Windows & Command+Click on Mac. 
    } 
    if(e.altKey) { 
    //Alt+Click 
    } 
}); 
Cuestiones relacionadas