【问题标题】:How do I make this snippet of CoffeeScript TurboLinks 5 friendly?如何使 CoffeeScript TurboLinks 5 的这段代码变得友好?
【发布时间】:2023-10-16 18:29:01
【问题描述】:

我有以下几点:

$ ->
    $('[data-provider="summernote"]').each ->
      $(this).summernote
        height: 300

这可行,但是,我想让它对 TurboLinks 5 友好。

所以我尝试了以下方法:

$ ->
  ready = ->
    $('data-provider="summernote"]').each ->
      $(this).summernote
        height: 300

  $(document).ready(ready)
  $(document).on('page:load', ready)

但我不断收到此错误:

Uncaught ReferenceError: ready is not defined

如何解决这个问题,以便使原始 sn-p TL-5 友好?

编辑 1

顺便说一句,我在我的 jobs.coffee 文件中执行此操作,我知道该文件已包含在我的资产管道中。所以不是这样的。

【问题讨论】:

    标签: javascript ruby-on-rails coffeescript turbolinks ruby-on-rails-5


    【解决方案1】:

    在 Rails 5 (Turbolinks 5) 中,turbolinks:load。此外,您不需要将事件处理程序包装到“文档就绪”中。

    将您的代码重写为:

    ready = ->
      $('data-provider="summernote"]').each ->
        $(this).summernote(height: 300)
    
    $(document).ready(ready)
    $(document).on('turbolinks:load', ready)
    

    【讨论】:

    • 太棒了。完美的。谢谢。我在另一个问题上留下了一些与此答案相关的问题。
    最近更新 更多