2010-10-08 28 views
3

Comment puis-je appeler un événement click du lien, lorsqu'un bouton du clavier est enfoncé?Evénements clavier

Je voudrais appeler une page suivante/précédente sur Ctrl + /Ctrl +

Répondre

5
$(document).keydown(function(e) { 
    if(e.ctrlKey){ 
    if(e.keyCode == 37){ 
     //ctrl + leftbutton pressed 
     $("a.prevButton").trigger("click"); 
    }else if(e.keyCode == 39){ 
     //ctrl + rightbutton pressed 
     $("a.nextButton").trigger("click"); 
    } 
    } 
}); 

fiddle it live

+0

ce + '$ ('# précédent') déclenchement (clic),' (si le lien précédent a 'id = "précédent"'. bien sûr) – Shikiryu

+0

qu'est-ce que keyCode = 37/39? Où puis-je trouver tous les codes clés? – James

+1

http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/Javascript-Char-Codes-Key-Codes.aspx est ce que vous cherchez –

0

Je ne sais pas comment faire w/jQuery [mais Je suis sûr que ce sera très simple.

En termes de javascript pur, vous pouvez obtenir la référence du lien en utilisant document.getElementById. Récupérez ensuite son attribut href en utilisant .href. Enfin, changer l'emplacement du document à l'emplacement href ->document.location = href

si vous ne voulez pas une redirection, puis définissez l'attribut action de la forme et ne form.submit()

1

Vous pouvez essayer

$(document).bind("keydown", function(e) { 
    if (e.ctrlKey) { 
    if(e.keyCode == 37) { 
     document.getElementById("prevButton").click(); 
    } 
    else if(e.keyCode == 39) { 
     document.getElementById("nextButton").click(); 
    } 
    } 
}); 
Code

37 est pour la flèche gauche & code 39 pour la flèche droite

1

Vous voudrez peut-être vous intéresser à l'utilisation d'une bibliothèque appelée jquery.hotkeys, que vous trouverez ici: http://github.com/tzuryby/jquery.hotkeys. Si vous n'utilisez pas la bibliothèque elle-même, le code source peut vous donner une idée de ce qui doit être fait.

[Avertissement: J'ai trouvé cette bibliothèque en effectuant une recherche, et je ne l'ai pas utilisée et je ne l'ai pas testée moi-même. Utilisez à votre propre discrétion]

1

il suffit d'utiliser ce plugin avec jQuery et vous pouvez configurer des combinaisons de touches pour les raccourcis. http://plugins.jquery.com/project/hotkeys.

vous pouvez définir des raccourcis comme ceci:

<script type="text/javascript"> 
     $(document).ready(function(){ 
      shortcut("Ctrl+Right",function() { 
      document.getElementById("your next button ID").click(); 
     }); 
     shortcut("Ctrl+Left",function() { 
     document.getElementById("your prev button ID").click(); 
     }); 
    }); 
</script>