我有一个嵌套在 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/