jQuery 移动加载消息



当我将jQuery Mobile链接到我的页面时,页面底部出现了某种加载消息,我无法摆脱它。我试过$.mobile.pageLoad(true(,但它不起作用。

我应该如何删除它?我没有在任何地方打印过它。

1.4 加载器文档

1.4 文档建议与加载程序小部件进行交互。页面顶部描述了全局更改选项,但可以逐个链接进行细微差别。这也可能有效:

$( document ).on( "mobileinit", function() {
    $.mobile.loader.prototype.options.disabled = true;
});

此外,根据 http://demos.jquerymobile.com/1.4.5/loader/和 http://api.jquerymobile.com/loader/,您可以使用以下代码隐藏加载体验:

// As submitted by @Aras
$.mobile.loading( "hide" );
// (or presumably as submitted by @Pnct)
$.mobile.loading().hide();

选项 B - 禁用 AJAX 加载

禁用 AJAX 加载将有效地删除该消息。

如果您不希望页面受益于在后台加载然后显示,您可以通过指定您不希望看到加载消息的任何锚点 (<a...>( 标签上的data-ajax='false'来使其像"正常"一样加载。还有一个全局设置可用于使所有链接"正常"加载。

若要全局禁用(请务必阅读此页面以了解含义及其建议。新文档可能没有警告(:

$.mobile.ajaxEnabled=false;

选项 C - 只需隐藏它

如果要使用 1.4 加载页面方法加载外部页面,它有一个可用于showLoadMsg的选项,您可以简单地将其设置为 false。

用于删除消息的全局选项(在早期版本中可用 - 至少为 1.0、1.1 和 1.2 - 在此处阅读有关它的信息(是:

$.mobile.loadingMessage = false;

1.2 和之前的文档中指出,如果将其设置为 false,则不会显示加载消息。

我正在使用最新版本的JQuery Mobile(当前为1.4(并遇到了这个问题。这里没有一个解决方案对我有用,我认为其中许多解决方案已被弃用。以下是对我有用的方法:

$.mobile.loading().hide();

$.mobile.loading()会给你元素,你可以hide它或做任何其他你想做的事情。希望这对某人有所帮助。

我遇到了同样的问题,一个烦人的加载消息和一个橙色框架。这是由于没有添加对 jquery 样式表的引用。

在标题中添加引用解决了它。

<link rel="stylesheet" type="text/css" href="https://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.css">

如果您使用的是jquerymobile的最新更新(1.2.0(试试这个

$.mobile.loading( 'show', { theme: "b", text: "", textonly: false});

因为它对我有用。

Pnct 的答案更接近于 JQM 1.2.0 的正确答案。但是,根据提供的 API 文档,以下内容会更正确。

$.mobile.loading('hide');

还要确保在 HTML 文件中至少为 JQM 结构定义了样式表。否则,它看起来该函数什么都不做。

就我而言(jQueryMobile 1.4.5(,我只需要将其添加到我的 CSS 中,这样我就可以避免导入整个 jQueryMobile CSS 文件(我不需要它(。

.ui-loader {
  display: none !important;
}

默认情况下,该消息应隐藏。很可能您没有包含官方的jQuery Mobile样式表。

不应通过代码手动隐藏或禁用加载消息。

正确的方法应该是包含以下jQuery Mobile 1.4.5样式表:

<link rel="stylesheet" type="text/css" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile.structure-1.4.5.css">

这将解决各种问题,包括Chrome中选定元素周围的蓝色轮廓和Android中的橙色轮廓。

如果这篇文章过时了,所有版本的样式表都可以在这里找到:https://jquerymobile.com/download/

添加这个

<script>
$(document).ready(function(){
  $(".ui-loader").hide();
});
</script>

您也可以使用 smth。 像这样删除消息:

$('.ui-loader h1').remove();

就我而言,我加载了错误的css文件(jquery css而不是jquery mobile css(

错:

<link href="../CSS/jquery-ui-1.11.4.custom/jquery-ui.min.css" rel="stylesheet" />

右:

<link href="../CSS/jquery.mobile-1.4.5.min.css" rel="stylesheet" />

尝试使用 $.mobile.hidePageLoadingMsg()

最新更新