2010-03-21 8 views

Répondre

112

Vous pouvez faire quelque chose comme ça (jQuery pour le gestionnaire de clic, mais tout cadre fonctionne sur la partie qui compte):

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

poignée Juste celui que vous voulez à l'intérieur d'un if dans le gestionnaire de clic comme je l'ai au dessus.

+0

impressionnant. Merci. travaillé sur IE 6 ainsi –

9

Si vous utilisez le plugin JQuery appelé hotkeys, vous pouvez gérer les touches spéciales ci-dessous.

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

maintenant vous pouvez le trouver sur github: https://github.com/jeresig/jquery.hotkeys – Luke

7

Plus récemment, je rencontré un problème avec l'utilisation e.ctrlKey en ce que cela ne fonctionne pas sur les MACs. Sur un Macintosh, le même effet est obtenu en utilisant Commande + Clic.

Étant donné que la plupart des réponses ci-dessus supposent déjà l'utilisation de jQuery, vous pouvez simplement utiliser la propriété e.metaKey mise à disposition par jQuery.

par exemple.

$(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 
    } 
}); 
Questions connexes