【问题标题】:Rails 4 : JS doesn't work when I follow linksRails 4:当我点击链接时 JS 不起作用
【发布时间】:2013-08-15 17:11:40
【问题描述】:

我使用 rails 4。我遇到的问题是当我点击我的 rails 应用程序中的链接时 - 一些 js 库不起作用(jquery.inview.js、ckeditor/init)。当我刷新页面时 - 一切正常。

//= require jquery
//= require jquery_ujs
//= require ckeditor/init
//= require jquery.inview.min.js
//= require jquery.inview.js
//= require twitter/bootstrap
//= require turbolinks
//= require jquery_nested_form
//= require_tree .

当我从 application.js 中删除 turbolinks - 一切正常

【问题讨论】:

标签: javascript jquery ruby-on-rails ckeditor assets


【解决方案1】:

我自己也遇到了类似的问题,链接仅在我的 Rails 4 应用程序中刷新,此链接中讨论的解决方案之一对我有用:

http://srbiv.github.io/2013/04/06/rails-4-my-first-run-in-with-turbolinks.html

不确定这是否适合您,但 Rails 4 默认使用 TurboLinks,值得回顾一下它的工作原理,因为如果设置或使用不正确,它可能会产生意想不到的副作用。

【讨论】:

  • 请帮我接受我的解决方案,这样我的 StackExchange 声誉就会提高。谢谢。
  • 确实理解 turbolinks 有点棘手。 @user2686755 请接受这个答案,因为它指向正确的方向。
  • 这对我也有帮助,尽管我不得不使用 page:fetch 而不是 page:load(参见上面链接的页面。)
【解决方案2】:

我只能在这里推测,但我会假设,如果您正在做一个单页应用程序,或者用新内容替换部分内容,那么您的事件在初始页面加载时仍然指向旧内容,而不是检测部分变化,并重新绑定到这些元素。

【讨论】:

  • 不,它不是单页应用程序,我认为不是这样。因为当我从 application.js 中删除 turbolinks - 一切都开始工作,因为它应该工作
猜你喜欢
  • 2019-10-29
  • 2022-07-30
  • 2012-09-19
  • 1970-01-01
  • 1970-01-01
  • 2015-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多