繁体   English   中英

Rails Jquery不适用于其他页面

[英]Rails Jquery doesn't work on other pages

我相信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);

在turbolinks上有一个优秀的轨道

https://github.com/kossnocorp/jquery.turbolinks

这个gem将jQuery.ready函数绑定到Turbolinks监听事件页面:load,因此如果你使用Turbolinks和Rails 4,那么解决方案应该会被解决

您需要在Gemfile中使用gem'jquery gem 'jquery-rails' (如果您使用的是Bundler,则需要捆绑安装)

完成后,您需要在application.js文件中要求它:

//= require jquery

最后,您需要确保将application.js文件作为应用程序模板的一部分加载。 application.html.erb您应该具有以下内容:

<%= javascript_include_tag "application" %>

我相信在Rails安装中默认情况下就是这样,所以如果您已经删除了这些设置中的任何一个,则需要将它们添加回来以使其正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM