javascript - Rails Jquery 在其他页面上不起作用

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

我相信 jQuery 不能在您刚刚安装的页面之外的其他页面上工作。例如,当我键入 localhost:3000/时,在“/”目录中所有 jQuery 都有效。但是当我点击一个由 Rails 创建的链接时

<%= link_to "Example Link", news_path %>

页面正确加载,但 jQuery 不工作。我的 jQuery 代码如下所述:

$(function() {
  console.log( "pageloaded" );
  ....
  $('.up').click(function(){
    .....
  });
});

最佳答案

在 Rails 4 中,turbolinks 默认处于事件状态。
这意味着,当您加载新页面时,$(document).ready() 不会被执行。

turbolink 触发一个新事件 page:load。您可以使用它来运行您的 javascript 代码:

$(document).on('page:load', your_start_function);

有一个优秀的rails cast on turbolinks

关于javascript - Rails Jquery 在其他页面上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17381069/

相关文章:

ruby-on-rails - ruby 文件 : "ruby_executable_hooks" syntax error

ruby-on-rails - 从外部表单接收POST

javascript - 我可以将来自 Google API 的 XML 存储在 Javascript 中作为字符串吗?

javascript - 将 divs 动画化到样式表上定义的位置

javascript - 为什么 javascript 会保留外部函数中发生的局部变量重新分配,而不必捕获返回值?

jQuery .on 多个事件和选择器

javascript - 使特定的 <select> 选项自动选中并禁用另一个表单字段中的复选框

ruby-on-rails - 强参数不允许使用 json 创建嵌套属性。 ActiveRecord::AssociationTypeMismatch 错误

javascript - 无法根据 ajax 请求在 php 中获取 $_POST 值

javascript - 为什么相等性检查不适用于数组