我正在努力让jQuery移动设备意识到当我点击某个链接时,请使用路径/?date={n}
来呼叫服务器,其中n是代表今天的天数。到目前为止,JS文件如下所示:
(function() {
$(document).ready(function() {
var m, move;
m = parseInt($("#main")[0].getAttribute("data-message"));
$("a#m_previous").click(function() {
return move(-1, true);
});
$("a#m_next").click(function() {
return move(1, false);
});
return move = function(direction, slide) {
m += direction;
return $.mobile.changePage({
url: '/',
type: 'get',
data: {"date": m}
}, "slide", slide, false);
};
});
}).call(this);
作为docs mention,$ .mobile.changePage需要一些参数作为它应该检查的路径,动画,反向和changeHash。因此,虽然我相信我正在做出所有正确的举动,但事情并没有奏效。
在调用此函数时,它成功发出了URL请求,提供了必要的HTML,但它没有通过转换部分。一个小弹出窗口出现说“加载”,但就是这样。
我在这里缺少什么?为了成功完成页面转换,我需要做什么?
非常感谢任何帮助。
编辑:所以文档进来了,我可以在网络检查器中看到它。但它没有加载,所以我尝试了以下内容:(function() {
$(document).ready(function() {
var m, move;
m = parseInt($("#main")[0].getAttribute("data-message"));
$("a#m_previous").click(function() {
return move(-1, true);
});
$("a#m_next").click(function() {
return move(1, false);
});
return move = function(direction, slide) {
m += direction;
return $("body").load('/?date=' + m + 'main', $.mobile.changePage('/?date=' + m, "slide", slide, false));
};
});
}).call(this);
这样就完成了调用并转换到下一页。 然而,有一些警告:
*滑动动画不会发生。
* CSS样式表不会在移动设备上加载并保留“加载”框。但它适用于Webkit Nightly ......
布局的结构如下:
id=body data-role='page'
data-role=header
id=day_header data-role=header
id=main data-role=content
将'load'方法更改为其他选择器不起作用。