2010-01-15 27 views

回答

1

最简单的方法是为元素的accesskey属性设置一个值。如果你想通过Rails的做到这一点,你可以通过传递一个额外的选项给submit_tag helper方法做到这一点,像这样:

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

这将导致该按钮是“点击”当Alt + R(或按Alt + Shift + R,取决于您的浏览器)。 accesskey属性可用于<input>,<button><a>HTML元素。

如果您正在寻找更复杂的东西(例如GMail的键盘快捷键),您将不得不编写一些javascript。它的核心将是一个事件处理程序,它监视文档上的按键,然后调用其他JavaScript函数来运行您按下某个键时所需的代码。下面是基于一个按键(这使用原型,这是Javascript库,默认情况下Rails的用途,并且是未经测试)的设置快捷方式的一个非常简单的方法:

$(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; 

    // ... 
    } 
}); 

这里是另一个SO question与交易Javascript中的键盘快捷键。

请注意,这些解决方案都不是真的依赖于Rails。

0

Lokk在this site这是关于rails并提供了一个.js在应用程序上使用键盘快捷键。