Jquery 某些触摸事件会导致多个事件,如何限制所需事件?

Jquery 某些触摸事件会导致多个事件,如何限制所需事件?,jquery,events,event-handling,jquery-mobile,touch-event,Jquery,Events,Event Handling,Jquery Mobile,Touch Event,所以,如果我轻按或轻按,它会按预期工作,但如果我轻按,我会得到两个事件。刷卡和刷卡方向,但我也有一个点击事件。如果发生滑动或滑动方向,是否有方法删除滑动事件 实例: HTML: 相关问题: 更新: -(使用Jaspers方法)如果只想验证触发的第一个事件,可以为其余触发的事件设置超时和preventDefault(): function bindEvent(element) { element.bind('tap taphold swipe swiperight swipeleft

所以,如果我轻按或轻按,它会按预期工作,但如果我轻按,我会得到两个事件。刷卡和刷卡方向,但我也有一个点击事件。如果发生滑动或滑动方向,是否有方法删除滑动事件

实例:

HTML:

相关问题:

更新:
-(使用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'));

嗯,这样做还可以,尽管为方便起见,还是松开了滑动方向+1。您仍然可以使用
event.type
属性捕获事件类型<代码>如果(event.type==“swipeleft”){/*swipeleft代码*/}等。。。但是,我不确定首先触发的是什么,
swipe
swipelft
/
swiperight
首先触发。我想我可以用一些逻辑来捕获刷卡事件,并检查是否有其他事件发生
function bindEvent(element) {
    element.bind('tap taphold swipe swiperight swipeleft', function(event, ui) {
       alert('Event: '+event.type); 
    });
}

bindEvent($('#display-event'));
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'));