gpt4 book ai didi

jquery - 如何覆盖 jQuery touchSwipe 处理程序?

转载 作者:行者123 更新时间:2023-12-01 03:39:18 24 4
gpt4 key购买 nike

我为 PhoneGap 应用程序构建了一个 GUI。有很多可滑动的页面可以在应用程序中导航。我使用 jQuery 插件“touchSwipe”来设置滑动处理程序。

当我单击向应用程序添加新页面的按钮时,页面数量会发生变化。

我的问题是,当我添加新页面时,在新页面上滑动不起作用。当我添加页面时,我只需再次调用该方法来设置“touchSwipe”处理程序。

$(".page").swipe({
swipeStatus: function(event, phase,
direction, distance, duration,fingerCount) {
CODE HERE
}
});

因此,处理程序附加到所有具有“page”类的元素。新添加的元素也有这个类。

我想不可能覆盖处理程序?

<小时/>

由于性能问题,我无法将滑动处理程序添加到单个元素。我正在一个小示例脚本中进行测试。

 $("#swipeField").swipe({
swipeStatus: function(event, phase, direction, distance, duration, fingerCount) {
$(this).text("You swiped: " + direction);
}
});

$("#unbindSwipeHandler").click(function() {
$("#swipeField").unbind();
});

$("#setSwipeHandler").click(function() {
$("#swipeField").swipe({
swipeStatus: function(event, phase, direction, distance, duration, fingerCount) {
$(this).text("You swiped: " + direction);
}
});
});

我想这个解决方案应该有更好的性能。问题是它根本行不通。正如您所看到的,当我打开页面时,滑动处理程序已设置并且方向显示在滑动字段中。单击按钮解除绑定(bind)后,文本不再更改。但是,当我按下“setSwipeHandler”按钮时,没有任何反应 - 处理程序未设置。

那么我不能绑定(bind)之前的 .unbind() 元素吗?

最佳答案

尝试销毁而不是取消绑定(bind)

$("#unbindSwipeHandler").click(function() {
$("#swipeField").swipe('destroy');
});

关于jquery - 如何覆盖 jQuery touchSwipe 处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24840739/

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