0

因此,如果我点击或点击它会按预期工作,但如果我滑动我应该得到两个事件。滑动和滑动方向,但我也得到一个点击事件。如果发生滑动或滑动方向,有没有办法删除点击事件?

现场示例:

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 touch 的点击事件

更新: -http: //jsfiddle.net/hJtAQ/31/(使用 Jaspers 方法)

4

1 回答 1

2

如果您只想验证第一个触发的事件,您可以设置超时,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'));
于 2011-10-21T19:13:07.290 回答