jquery 3文件准备好阻止turbolinks执行

时间:2017-09-11 19:44:18

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

到目前为止我使用的是jQuery 1.12.4,一切正常,我有这样的事情:

$(document).ready ->

    console.log "document is ready yaay!"

    start = ->

        alert "Hello world!!!"

    document.addEventListener('turbolinks:load', start)

我昨天升级到Rails 5.1并决定添加和升级我的jQuery(是的,我仍然需要它)所以我使用yarn安装了jQuery 3,但上面的相同代码没有被执行,至少是turbolinks部分(每次加载文档时都会执行console.log,但“start”方法不会执行)

我删除了$(document).ready ->,代码开始按预期工作!!!

为了确保我也删除了jQuery 3并重新安装了jQuery 1.12,它确实有效!即使使用$(document).ready ->

为什么会这样?

1 个答案:

答案 0 :(得分:0)

确保将//= require jquery添加到application.js文件中。

在命令行中,运行yarn install jquery全部小写

这是我使用jquery到yarn的项目之一的application.js文件。

//= require rails-ujs
//= require turbolinks
//= require jquery
//= require_tree .

编辑: 如果您希望console.log和警报在每次更改页面时触发。你可以写这样的javascript。

$(document).on('turbolinks:load', function() {
  console.log('Test');
  alert("Hello world!!!");
});