【问题标题】:I use gem 'turbolinks'. When you update the page, editor is displayed once. When you load the page editor, the panel is displayed twice我使用 gem 'turbolinks'。当您更新页面时,编辑器会显示一次。加载页面编辑器时,面板显示两次
【发布时间】:2014-04-15 15:14:09
【问题描述】:

turbolink 的问题。当您更新页面时,编辑器会显示一次。加载页面编辑器时,面板会显示两次。

我使用gem 'bootsy'

gem 'turbolinks' -v '2.2.0.

在 Google Chrome 中观察到此问题。例如,在 Firefox 中,一切看起来都很好。

应用程序.js

//= require jquery
//= require jquery.turbolinks
//= require jquery.textchange
//= require jquery_ujs
//= require bootsy
//= require bootstrap
//= require turbolinks

我尝试使用此解决方案:

$(document).addEventListener("page:load", function(){
  Bootsy.init();
});

但没有变化。

我尝试使用此解决方案:

//= require jquery
//= require jquery.turbolinks
//= require jquery.textchange
//= require jquery_ujs
//= require bootsy
//= require bootstrap
$(function() {
  Bootsy.init();
});
//= require turbolinks

它有帮助,但我认为这是错误的。其他人可以遇到这个问题吗?

【问题讨论】:

  • $(document) 是 jQuery 代码($ 是 jQuery 默认选择器),addEventListener 不是 jQuery 函数。尝试使用$(document).on('page:load', function(){ Boosty.init() } ) -- 您可能还需要将$(document).ready( function (){ Bootsy.init() }) 用于未使用 Turbolink 的请求
  • @MrYoshiji 也没有帮助,在浏览器控制台这里有一个日志:XHR finished loading: "http://localhost:3000/admin/campaigns/new"

标签: javascript jquery ruby-on-rails ruby-on-rails-4 turbolinks


【解决方案1】:

将您的 javascript 包含在 .或将data-turbolinks-eval="false" 添加到您的脚本中,docs

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-16
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    相关资源
    最近更新 更多