gpt4 book ai didi

javascript - Turbolinks 消灭了 jQuery Mobile 类

转载 作者:行者123 更新时间:2023-11-30 00:01:58 26 4
gpt4 key购买 nike

当我使用 Turbolinks 在我的 Rails 应用程序中加载页面时,DOM 缺少 jQuery Mobile 通常应用的样式.我所有的 JavaScript 文件都在运行;唯一的问题是我丢失了一些 JavaScript 实际工作所需的样式。

例如,对于 Turbolinks,我的标题是:

<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 Mobile 类。

我的 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 中编写的,并且在 app/assets/javascripts 中有几个 coffeescript 文件。

我尝试使用 jquery-turbolinks ,但它没有帮助,它似乎也不是为了解决这里的根本问题而设计的,所以我将其删除。

我也多次运行 bundle exec rake assets:precompile (:clean, :clobber),所以我没有认为这是问题所在。

这一切都在开发中,但问题也存在于生产中。

最佳答案

“答案”是 Turbolinks 和 jQuery Mobile 做很多相同的事情(都用 AJAX 代替整个页面加载),并且 one does not need to use both ,并且它们并非旨在协同工作。 JQM 更适合必须进行移动优化的网站(大多数网站?)。

uninstalled Turbolinks ,一切都解决了。

请更正我描述错误的任何内容。

关于javascript - Turbolinks 消灭了 jQuery Mobile 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40119190/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com