gpt4 book ai didi

javascript - 在 jQuery 和 Phonegap 中滑动会意外地工作

转载 作者:太空狗 更新时间:2023-10-29 13:33:07 26 4
gpt4 key购买 nike

我正在使用 this answer 中给出的代码在我的 Phonegap 应用程序中滑动多个页面。

但是,live 功能似乎已被弃用,而且当我尝试重新加载时,页面下方会出现一个“0”。当我尝试更多时,会创建一串零,每个零的数量表示该页面的重新加载次数。长话短说:滑动有效,但每次加载滑动页面时都会出现 0。

我尝试对此进行更改,但似乎不起作用(我使用的是 Phonegap 2.1.0、jQuery 1.8.2 和 jQuery Mobile 1.1.1)。

<script type="text/javascript">
$('div.ui-page').on("swipeleft", function () {
var nextpage = $(this).next('div[data-role="page"]');
if (nextpage.length > 0) {
$.mobile.changePage(nextpage, {
transition: "slide",
reverse: false
}, true, true);
}
});
$('div.ui-page').on("swiperight", function () {
var prevpage = $(this).prev('div[data-role="page"]');
if (prevpage.length > 0) {
$.mobile.changePage(prevpage, {
transition: "slide",
reverse: true
}, true, true);
}
});
</script>

编辑:我试过这个,和最初的问题一样:

<script type="text/javascript">
$(document).delegate('div.ui-page', 'swipeleft', function () {
var nextpage = $(this).nexy('div[data-role="page"]');
if (nextpage.length > 0) {
$.mobile.changePage(nextpage, {
transition: "slide",
reverse: false
}, true, true);
}
});
$(document).delegate('div.ui-page', 'swiperight', function () {
var prevpage = $(this).prev('div[data-role="page"]');
if (prevpage.length > 0) {
$.mobile.changePage(prevpage, {
transition: "slide",
reverse: false
}, true, true);
}
});
</script>

最佳答案

那个版本的on相当于bind。要替换 live 你需要

$(document).on("swipeleft", "div.ui-page", function...

要进一步调试事件,请检查 $(this) 指的是什么 - 它可能不是您认为的页面,并且可能没有下一个/上一个元素。

这在一定程度上取决于您的应用程序的设置方式,但通常您不能依赖以任何特定顺序存在的页面 div。

此外,对 changePage 的调用似乎与当前文档不匹配( http://jquerymobile.com/test/docs/api/methods.html ) - 最后的两个真值是什么?

关于javascript - 在 jQuery 和 Phonegap 中滑动会意外地工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13416400/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com