2010-03-21 10 views

Odpowiedz

112

można zrobić coś takiego (jQuery dla obsługi click, ale wszelkie ramy działa na część, która ma znaczenie):

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

Wystarczy obsługiwać cokolwiek chcesz wewnątrz if wewnątrz uchwytu click jak mam powyżej.

+0

niesamowite. dzięki. pracował na IE 6, a także –

9

Jeśli używasz wtyczki JQuery o nazwie hotkeys, możesz obsługiwać specjalne klawisze poniżej.

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

teraz można go znaleźć na github: https://github.com/jeresig/jquery.hotkeys – Luke

7

Niedawno natknąłem się na problem z użyciem e.ctrlKey w tym, że nie działa na komputerach Mac. Na komputerze Macintosh ten sam efekt uzyskuje się za pomocą polecenia + kliknięcie.

Ponieważ większość powyższych odpowiedzi zakłada już wykorzystanie jQuery, można po prostu użyć właściwości e.metaKey, która jest udostępniana przez jQuery.

np.

$(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 
    } 
}); 
Powiązane problemy