【问题标题】:Coffeescript doesn't always runCoffeescript 并不总是运行
【发布时间】:2014-01-30 12:42:18
【问题描述】:

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

我写的唯一的咖啡脚本是一个简单的日志语句:

$ ->
    console.log "show this"

这似乎偶尔会在首页加载时弹出。如果它没有加载并且我刷新页面,那么它会在以下时间加载。

我错过了什么吗?

【问题讨论】:

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


    【解决方案1】:

    是的,是Turbolinks引起的。

    $ ->
      console.log "show this"
    

    意思

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

    意思是

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

    Turbolinks 拦截请求,因此不会触发 ready 事件。


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

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多