所以我刚开始在Rails 4应用程序中使用coffeescript并遇到一个奇怪的问题,结果js并不总是在运行
我写的唯一的咖啡因是一个简单的日志声明:
$ ->
console.log "show this"
这似乎偶尔出现在首页加载中。如果它没有加载并刷新页面,则会加载以下时间。
我在这里错过了什么吗?
答案 0 :(得分:0)
是的,它是由Turbolinks引起的。
$ ->
console.log "show this"
装置
$(function(){
console.log("show this")
})
表示
$(document).ready(function(){
console.log("show this")
})
Turbolinks拦截请求,以便不会触发ready
事件。
要解决此问题,您可以disable Turbolinks或use jquery-turbolinks。
答案 1 :(得分:0)
看看这个问题:Rails 4 turbo-link prevents jQuery scripts from working
您想要添加page:change
事件侦听器,因为Turbolinks会抑制$(document).ready
所以这样的事情应该解决这个问题:
$(document).on('page:change', function() { ... })