【问题标题】:Loading JavaScript in Rails App在 Rails 应用程序中加载 JavaScript
【发布时间】:2016-09-14 15:24:08
【问题描述】:

我正在尝试在我的 rails 应用程序中单击链接“link_to”时启动一个 JS 文件。

我通过测试确保资产管道正常工作

$(document).ready(function() {
    alert("test");
});

并且警报弹出没有问题。

但是,只有在页面加载后刷新时才会加载脚本。我试过下面的代码没有任何运气,但正如我所说,一旦重新加载页面,它就可以工作。

var ready;
ready = function() {

  //My JS Code

};

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

我在下面有 Turbolinks gem 文件编译的 Gem 文件

//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require bootstrap-sprockets
//= require jquery.slimscroll
//= require app
//= require zopim
//= require turbolinks

我确定这是我缺少的一些小东西。我见过使用咖啡脚本的示例,但我目前对它的了解还不够。

编辑:

在 Chrome 开发工具下监控网络时,我注意到在我按 F5 重新加载页面之前,没有任何 JS 加载,但我似乎对其他脚本没有问题。这可能是一个单独的问题。

【问题讨论】:

    标签: javascript jquery ruby-on-rails ruby turbolinks


    【解决方案1】:

    也许试试这个?

    $(document).on('turbolinks:load', ready);
    

    【讨论】:

    • 看起来这对我不起作用。 var ready; ready = function() { // My JS code $(document).ready(ready); $(document).on('turbolinks:reload', ready);
    • 你有reload而不是load
    【解决方案2】:
    $(document).on('turbolinks:load', function() {
      //My JS Code
    }) 
    

    这应该适合你。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-21
      • 2016-04-04
      • 1970-01-01
      相关资源
      最近更新 更多