因此,如果我点击或按住,它会按预期工作,但如果我滑动,我应该会得到两个事件。滑动和滑动方向,但我也得到了一个点击事件。如果发生滑动或滑动方向,有没有办法删除点击事件?
实例:
- http://jsfiddle.net/phillpafford/hJtAQ/11/
HTML:
<div data-role="page" id="home">
<div data-role="content">
<div id="display-event" class="add-border">
<p>Tap, TapHold (for 1 second), Swipe, SwipeRight or SwipeLeft</p>
</div>
</div>
</div>
JS:
function bindEvent(element) {
element.bind('tap taphold swipe swiperight swipeleft', function(event, ui) {
alert('Event: '+event.type);
});
}
bindEvent($('#display-event'));
相关问题:滑动事件触发ipod触摸的点击事件
更新:-http://jsfiddle.net/hJtAQ/31/(使用Jaspers方法(
如果只想验证激发的第一个事件,可以为激发的其余事件设置超时和preventDefault()
:
function bindEvent(element) {
element.bind('tap taphold swipe swiperight swipeleft', function(event, ui) {
if (event_ok == false) {
event.preventDefault();
return false;
} else {
event_ok = false;
setTimeout(function () {
event_ok = true;
}, 500);
alert('Event: '+event.type);
}
});
}
var event_ok = true;
bindEvent($('#display-event'));