Coffeescript并不总是运行

时间:2014-01-11 13:45:42

标签: javascript ruby-on-rails-4 coffeescript

所以我刚开始在Rails 4应用程序中使用coffeescript并遇到一个奇怪的问题,结果js并不总是在运行

我写的唯一的咖啡因是一个简单的日志声明:

$ ->
    console.log "show this"

这似乎偶尔出现在首页加载中。如果它没有加载并刷新页面,则会加载以下时间。

我在这里错过了什么吗?

2 个答案:

答案 0 :(得分:0)

是的,它是由Turbolinks引起的。

$ ->
  console.log "show this"

装置

$(function(){
  console.log("show this")
})

表示

$(document).ready(function(){
  console.log("show this")
})

Turbolinks拦截请求,以便不会触发ready事件。


要解决此问题,您可以disable Turbolinksuse jquery-turbolinks

答案 1 :(得分:0)

看看这个问题:Rails 4 turbo-link prevents jQuery scripts from working

您想要添加page:change事件侦听器,因为Turbolinks会抑制$(document).ready

所以这样的事情应该解决这个问题:

$(document).on('page:change', function() { ... })