【问题标题】:Trigger a link_to on right or left key arrow in Ruby on Rails在 Ruby on Rails 中的左右键箭头上触发 link_to
【发布时间】:2016-04-01 21:21:20
【问题描述】:

希望使用我的左右键盘箭头来触发 link_to。

我的查看页面有这个:

#RootDiv
  .nav-arrow
    = link_to lightbox_trip_path(@prev), class: "lbPrev" do
      <
  .nav-arrow
    = link_to lightbox_trip_path(@next), class: "lbNext" do 
      >

这是咖啡脚本

$ ->
  if ($("#RootDiv").is(":visible"))
    $(document).keydown (e) ->
      if e.which == 37
        # left     
        $('a.lbLeft').trigger 'click'
      else if e.which == 39
        # right     
        $('a.lbNext').trigger 'click'
      return

我希望只有在#RootDiv 可见时才能使用这些左右箭头键。

【问题讨论】:

  • 您现在遇到的代码问题是什么?
  • 左右箭头不起作用。它不会触发链接。
  • @Drenmi 我想使用左箭头或右箭头,就像你点击链接一样

标签: jquery ruby-on-rails ruby ruby-on-rails-4 coffeescript


【解决方案1】:

试试这个:

$ ->
  if ($("#RootDiv").is(":visible"))
    $(document).keydown (e) ->
      if e.which == 37
        # left     
        $('a.lbLeft')[0].click()
      else if e.which == 39
        # right     
        $('a.lbNext')[0].click()
      return

参考:Simulate mouse click

Fiddle

【讨论】:

  • .trigger 'click' 和.click() 有区别吗?我在某处读到.trigger 'click' 可能更快?另外,在检查:visible 之前最好先做一个$(document).on, 'keydown' (e) -&gt; 吗?
  • 在$(document).on, 'keydown' (e) -&gt;之后进行检查似乎没有任何好处
猜你喜欢
  • 1970-01-01
  • 2023-03-15
  • 2014-01-19
  • 2013-12-08
  • 1970-01-01
  • 2016-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多