今天我用jQuery-Mobile准备了一些PHP页面。它应该能够从一个页面滑动到另一个页面。
一般情况下,滑动有效,但有一个问题:当我刷到新页面时,首先刷卡不能在该页面上工作。只有当我重新加载页面时,它才会再次运行。重新加载前的页面源是OK。
在我看来,当我刷新页面时,并非所有包含都被执行。怎么解决这个问题?例如:Ref link
$(document).ready(function () {
var urlup, urlleft, urlright;
$('img').on('dragstart', function (event) {
event.preventDefault();
});
$('img').each(function (i) {
if (this.src.indexOf("buttonup.png") >= 0) {
urlup = this.parentNode.href;
this.id = "buttonup";
} else if (this.src.indexOf("buttonleft.png") >= 0) {
urlleft = this.parentNode.href;
this.id = "buttonleft"
} else if (this.src.indexOf("buttonright.png") >= 0) {
urlright = this.parentNode.href;
this.id = "buttonright";
} else {};
});
//$.mobile.loadPage(urlup);
//$.mobile.loadPage(urlleft);
//$.mobile.loadPage(urlright);
$(":mobile-pagecontainer").pagecontainer("load", urlup);
$(":mobile-pagecontainer").pagecontainer("load", urlleft);
$(":mobile-pagecontainer").pagecontainer("load", urlright);
$(document).on("swipeup", function () {
$.mobile.changePage(urlup);
});
$(document).on("swipeleft", function () {
$.mobile.changePage(urlright);
});
$(document).on("swiperight", function () {
$.mobile.changePage(urlleft, {
reverse: true
});
});
$("#buttonup").click(function () {
$.mobile.changePage(urlup, {
transition: "slideup"
});
});
$("#buttonleft").click(function (event) {
event.stopPropagation();
});
$("#buttonleft").click(function () {
$.mobile.changePage(urlleft, {
reverse: true
});
});
$("#buttonright").click(function () {
$.mobile.changePage(urlright);
});
});
答案 0 :(得分:0)
与此同时,我能够解决这个问题:我使用了文档就绪事件,当jQuery Mobile加载新页面时,不会触发此事件。因此,未执行绑定滑动事件的javascript代码。我不得不使用JMs pageinit事件。修复了一些其他问题后,刷卡在我的页面上工作正常: http://www.ulrichbangert.de/orchid/odm_rawdonjester.php 最好的问候 - Ulrich