Turbolinks 消灭了 jQuery 移动 类
Turbolinks wipes out jQuery Mobile classes
当我使用 Turbolinks 在我的 rails 应用程序中加载页面时,DOM 缺少 jQuery Mobile 通常应用的样式。我的所有 JavaScript 个文件 运行;唯一的问题是我丢失了一些 JavaScript 到 实际上 工作所需的样式。
例如,使用 Turbolinks,我的 header 是:
<a rel="external" href="/">MY SITE</a>
没有,是:
<a rel="external" href="/" class="ui-link">MY SITE</a>
我已经确认我的 JS 文件是 运行 Turbolinks。问题是预期的 jQuery Mobile 类 不存在。
我不确定如何确保在单击 Turbolink 时应用这些 类。对于正确方向或区域的任何建议,我将不胜感激。
我试过用以下方式包装 JavaScript:
$(document).ready(function () {
//functions
});
和:
$(document).on('turbolinks:load', function() {
//functions
});
我已经将 coffeescript 包装在同一个文件中:
ready = ->
#coffee
$(document).on('turbolinks:load', ready)
两者似乎都适用于我的正常 JS/coffeescript 活动,所以这不是问题——只有 jQuery 手机 类 丢失了。
我的 application.js 文件是:
//= require jquery
//= require jquery_ujs
//= require jquery.mobile
//= require js-routes
//= require turbolinks
//= require twitter/bootstrap
//= require_tree .
我试过用几种不同的方式重新排序,但都无济于事。
我的JavaScript全部写在app/assets/javascripts/base.js
里,还有几个coffeescript文件在app/assets/javascripts
.
我尝试使用 jquery-turbolinks,但它没有帮助,它似乎也不是为了解决这里的根本问题而设计的,所以我删除了它。
我也运行 bundle exec rake assets:precompile
(:clean
, :clobber
) 很多次了,所以我认为这不是问题。
这一切都在开发中,但问题也存在于生产中。
"answer" 是 Turbolinks 和 jQuery Mobile 做很多相同的事情(都用 AJAX 替换整页加载),one does not need to use both,他们不是为了一起工作而设计的。 JQM 更适合必须进行移动优化的网站(大多数网站?)。
我uninstalled Turbolinks,一切都解决了
请更正我描述错误的任何内容。
当我使用 Turbolinks 在我的 rails 应用程序中加载页面时,DOM 缺少 jQuery Mobile 通常应用的样式。我的所有 JavaScript 个文件 运行;唯一的问题是我丢失了一些 JavaScript 到 实际上 工作所需的样式。
例如,使用 Turbolinks,我的 header 是:
<a rel="external" href="/">MY SITE</a>
没有,是:
<a rel="external" href="/" class="ui-link">MY SITE</a>
我已经确认我的 JS 文件是 运行 Turbolinks。问题是预期的 jQuery Mobile 类 不存在。
我不确定如何确保在单击 Turbolink 时应用这些 类。对于正确方向或区域的任何建议,我将不胜感激。
我试过用以下方式包装 JavaScript:
$(document).ready(function () {
//functions
});
和:
$(document).on('turbolinks:load', function() {
//functions
});
我已经将 coffeescript 包装在同一个文件中:
ready = ->
#coffee
$(document).on('turbolinks:load', ready)
两者似乎都适用于我的正常 JS/coffeescript 活动,所以这不是问题——只有 jQuery 手机 类 丢失了。
我的 application.js 文件是:
//= require jquery
//= require jquery_ujs
//= require jquery.mobile
//= require js-routes
//= require turbolinks
//= require twitter/bootstrap
//= require_tree .
我试过用几种不同的方式重新排序,但都无济于事。
我的JavaScript全部写在app/assets/javascripts/base.js
里,还有几个coffeescript文件在app/assets/javascripts
.
我尝试使用 jquery-turbolinks,但它没有帮助,它似乎也不是为了解决这里的根本问题而设计的,所以我删除了它。
我也运行 bundle exec rake assets:precompile
(:clean
, :clobber
) 很多次了,所以我认为这不是问题。
这一切都在开发中,但问题也存在于生产中。
"answer" 是 Turbolinks 和 jQuery Mobile 做很多相同的事情(都用 AJAX 替换整页加载),one does not need to use both,他们不是为了一起工作而设计的。 JQM 更适合必须进行移动优化的网站(大多数网站?)。
我uninstalled Turbolinks,一切都解决了
请更正我描述错误的任何内容。