到目前为止我使用的是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 ->
为什么会这样?
答案 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!!!");
});