单击按钮时如何调用javascript函数?

xxy*_*yxx 4 ruby-on-rails

现在我正在使用:

<%=button_to_function "?", checkButton(), :class => "buttonGrey"%>
Run Code Online (Sandbox Code Playgroud)

但是javascript函数需要传递给它,所以它可以切换类(我希望按下它时按钮类更改)我将作为参数表示按钮传递什么?

MrY*_*iji 5

您可以直接在button_to_function中执行javascript.

在你的情况下:

<%= button_to_function "?", '$(this).toggleClass("buttonGrey buttonGreen");', :class => "buttonGrey" %>

希望这可以帮助!

  • 在Rails 4中再次弃用了button_to_function.由于某些原因,它已经和我们的Rails一起使用了几次.详细信息和替代解决方案:http://stackoverflow.com/questions/14324919/status-of-rails-link-to-function-deprecation (3认同)

Fer*_*ira 5

由于“ button_to_function以来的Rails 4.0.2”已经过时,现在你可以使用“ button_tag ”帮手。

范例:

<%= button_tag "Do It" type: 'button', onclick: "myFunction()", class: 'btn btn-default' do %>
Run Code Online (Sandbox Code Playgroud)

注意:如果使用CoffeeScript,则将函数声明为:

window.myFunction =>
  ...
Run Code Online (Sandbox Code Playgroud)

因为在CofeeScript中,默认情况下函数不是全局作用域的。