【发布时间】:2012-10-06 20:37:08
【问题描述】:
当我尝试使用changePage("$('#page-id')", { transition: "none" }); 从一页导航到另一页(单页模板)时,如何显示JQM 加载消息?
现在我在 changePage 发生之前打电话给$.mobile.loading("show");。
我尝试了this 和this 中的方法,但还是不行。我在单击源页面中的按钮时使用 changePage 。上述链接中提供的方法仅适用于 FF。不适用于 Android、iOS 原生浏览器以及 Chrome 或 Safari。
哦,我正在使用 JQM v1.2.0 stable。
编辑: 这是我正在使用的代码
$(".listview").live("click", function () {
$.mobile.loading('show', {
text: 'Please wait... Loading...',
textVisible: true,
theme: 'a',
textonly: true
});
var v1= $(this).attr("v1");
//var CourseID = "";
var v2= $(this).attr("v2");
var v3= $.trim($(this).children("h3").text());
var v4= $.trim($(this).find("span").children("span:first").text());
var v5= $.trim($(this).children("p:last").text());
$.ajax({
async: false,
type: "POST",
url: "//url of the webmethod//",
data: "{v1:" + v1+ ", p:" + id + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
cache: false,
success: function (msg) {
ViewModel.variable1({ //binding data to ViewModel here//
});
$.mobile.changePage("#course-pg", { transition: "none" });
},
error: function (msg) {
$("#errorpopup").popup('open');
},
complete: function () {
$.mobile.loading('hide');
}
});
});
【问题讨论】:
-
这很奇怪,当你自动调用 changePage() 时应该会显示加载消息...你有没有正确设置page loading widget settings?
-
@ZathrusWriter 是的,我有。我已将其添加到移动 init.js 中
-
并且您的
mobileinit在您包含 jQuery Mobile JavaScript 文件之前位于页面上? -
@ZathrusWriter 是的!我调试了我的代码,加载消息在调试器到达 changePage() 的那一刻就消失了。在移动浏览器上,在 单击(将 changePage() 绑定到它)和第二个页面出现之间有一个舒适的 3 秒延迟。我希望用加载消息填充它。
-
对不起,如果我之前用大写字母听起来很粗鲁,只是想确定一下:) ...无论如何,这很令人费解...你认为你可以尝试使用jsfiddle 复制它吗? ,所以我们有一些示例代码?
标签: jquery jquery-mobile