问题是当我想要垂直滚动时触发swipeleft / swiperight事件。
我们使用的是jquery mobile 1.1.0版本和jquery 1.7.1。
,代码是:
$(document).delegate('#quizResumePage', 'swipeleft swiperight', function (event) {
event.stopImmediatePropagation();
if (event.type == 'swipeleft') {
$('#btnnext').trigger('click');
} else if (event.type == 'swiperight') {
$('#btnprevious').trigger('click');
}
event.preventDefault();
});
那么为什么在我想要翻页的时候滑动事件触发器?
这个问题发生在三星galaxy android 2.3.5 ......
任何人都可以帮我解决这个问题吗?
提前致谢...
答案 0 :(得分:12)
您可以控制滑动事件的工作方式,以更改以下对象的值
$.extend($.event.special.swipe,{
scrollSupressionThreshold: 10, // More than this horizontal displacement, and we will suppress scrolling.
durationThreshold: 1000, // More time than this, and it isn't a swipe.
horizontalDistanceThreshold: 30, // Swipe horizontal displacement must be more than this.
verticalDistanceThreshold: 75, // Swipe vertical displacement must be less than this.
});
在收听滑动之前将其放在您的代码上。例如,将verticalDistanceThreshold更改为15,将durationThreshold更改为500,这将有助于减少误报。
另一方面,在您的代码中,您触发了按钮上的click事件,当有效时,更好的方法是直接调用执行下一个/上一个操作的方法。
祝你好运!