2010-01-15 6 views
0

de Possible en double:
Ruby on Rails keybard shortcutsRuby on Rails raccourcis

Salut à tous - personne ne sait comment mettre en place des raccourcis clavier à l'aide Ruby on Rails sur mon site? Par exemple, si un utilisateur souhaite interagir avec le site à l'aide de raccourcis clavier au lieu de cliquer sur des boutons/liens, comment le ferais-je?

Toute aide est grandement appréciée.

Max.

Répondre

1

La méthode la plus simple consiste à définir une valeur pour l'attribut accesskey pour vos éléments. Si vous vouliez faire à travers Rails, vous pouvez le faire en passant une option supplémentaire à la méthode d'assistance submit_tag, comme ceci:

<%=submit_tag("Save and Refresh", :accesskey => "R") %> 
// Equivalent to <input type="submit" value="Save and Refresh" accesskey="R" /> 

qui provoquera ce bouton pour être « clicked » lorsque Alt + R (ou Alt + Maj + R, en fonction de votre navigateur) est pressé. L'attribut accesskey est disponible pour les éléments HTML <input>, <button> et <a>.

Si vous cherchez à faire quelque chose de plus complexe (comme les raccourcis clavier de GMail, par exemple), vous devrez écrire du javascript. Le noyau de ce serait un gestionnaire d'événements qui surveille les touches sur le document, puis appelle d'autres fonctions javascript pour exécuter le code que vous voulez quand une certaine touche est pressée. Voici une manière très simpliste de mettre en place des raccourcis sur la base d'une pression de touche (ce qui utilise Prototype, qui est la bibliothèque Javascript que Rails utilise par défaut, et non testé):

$(document.body).observe("keypress", function(event) 
{ 
    var keyCode = event.which || event.keyCode; // W3C and Microsoft's event models 
               // have differing ways of 
               // determining which key was pressed 
    var keyChar = String.fromCharCode(keyCode); // turn a code into an actual character 

    switch (keyChar) 
    { 
    case 'a': 
     // Run code if the user presses 'a' 
     break; 

    // ... 
    } 
}); 

Voici une autre SO question qui traite raccourcis clavier en Javascript.

Notez qu'aucune de ces solutions ne repose vraiment sur Rails.

0

Lokk à this site qui concerne les rails et fournit un .js pour utiliser les raccourcis clavier sur une application.