javascript - 如何防止 jQuery onclick 事件中的 Ruby 方法在页面刷新时执行

标签 javascript jquery ruby-on-rails ruby ruby-on-rails-3

我有一个嵌套在 jQuery onclick 事件中的 Ruby 方法,我希望该方法在单击 div 时执行。这有效;但是,该方法也在页面刷新时执行。为什么它也在页面刷新时执行?有什么办法限制它只在 onclick 时执行?

 $(function() { 
   $('.myDiv').click(function(){
      <% foo_bar %>
   });
 });

最佳答案

我不明白怎么办foo_bar点击div时即可执行。 Ruby 在服务器端执行,jQuery 在客户端执行。您无法从客户端执行 ruby​​ 代码。
您的foo_bar在刷新页面上执行,因为服务器需要解释它以将其结果输入 <% %>标签。但是,当您单击 div 时,不会发生任何事情,因为 jquery 函数将为空(因为您没有编写 <%= %> )。即使你写了<%= %>jQuery 只会执行 foo_bar结果,而不是函数本身。

也许你可以在 foo_bar 中解释你想做什么。如果你想与服务器交互,你将需要类似 Ajax 的东西。 .

关于javascript - 如何防止 jQuery onclick 事件中的 Ruby 方法在页面刷新时执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12397789/

相关文章:

javascript - 更改 Content-Type 时,Http-Method 从 POST 更改为 OPTIONS

javascript - 使用 javascript 将 slider 停止在最后一张图片处

javascript - 正则表达式 - 检查多个模式是否适用于字符串

Jquery JSON append <li>无法获取长度

javascript - 如何将内插值作为参数传递给angularjs中的javascript函数

javascript - 我一直在尝试创建一个 react 应用程序,但我不断收到此错误 : "npm ERR! cb() never called!"

jquery - 这应该很容易。如何通过按钮的值查找按钮(Jquery 选择器)

javascript - 生态错误消息 : Unexpected 'INDENT' in Windows

ruby-on-rails - Rails select_tag 选择不起作用

Mysql2::错误: 'column_name' 的默认值无效