0

到目前为止,我使用的是 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 部分(控制台每次加载文档时都会执行.log,但“start”方法不执行)

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

为了确保我还删除了 jQuery 3 并重新安装了 jQuery 1.12 并且它工作正常!即使$(document).ready ->

为什么会这样?

4

1 回答 1

0

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

在命令行中,运行yarn install jquery所有小写字母

这是我application.js通过纱线使用 jquery 的项目之一中的文件。

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

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

$(document).on('turbolinks:load', function() {
  console.log('Test');
  alert("Hello world!!!");
});
于 2017-09-12T12:13:16.127 回答