测试环境:ruby1.8.7 + rails 2.3.5 + firefox + chrome
今天在看redmine源码的时候,发现了很多这样的代码:
<p><%= f.text_area :text, :cols => 100, :rows => 25, :class => 'wiki-edit', :accesskey => accesskey(:edit) %></p>
对于 :accesskey => accesskey(:edit) 参数没有明白,之前没用过,goolge下,果然不错,原来是快捷键,rails已经封装了,用的是prototype.js
常见用法:
<%= submit_tag("Save and Refresh", :accesskey => "r") %>
按下 alt+shift+r 你的表单就提交了
<%= f.text_area :text, :cols => 100, :rows => 25, :class => 'wiki-edit', :accesskey => ‘e’ %>
按下 alt+shift+e 光标就定位到 textarea了
另外上面redmine里封装了一个helper方法来定义快捷键,可以来看下,很简单
application_helper.rb:
def accesskey(s)
Redmine::AccessKeys.key_for s
end
access_keys.rb:
module Redmine module AccessKeys ACCESSKEYS = {:edit => 'e', :preview => 'r', :quick_search => 'f', :search => '4', :new_issue => '7' }.freeze unless const_defined?(:ACCESSKEYS) def self.key_for(action) ACCESSKEYS[action] end end end
see:
http://stackoverflow.com/questions/2075093/ruby-on-rails-keyboard-shortcuts