当我将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()