阻止触摸事件后执行单击事件

时间:2014-09-02 11:56:56

标签: jquery onclick swipe touch-event

简单解释我有这段代码:

$(".button").swipe({
    swipe: function () {
        $("#output").append("You swiped!");
    }
}).click(function () {
    $("#output").append("You clicked!");
});

我希望能够处理我的元素上的滑动(TouchSwipe插件)并点击。问题是触摸也是一次点击。所以如果我刷卡,我会先得到#34;你刷了!"然后是"你点击了!"。点击即可。

如果.swipe()已被执行,是否可以停止执行.click()?当然,这必须每次都有效。

1 个答案:

答案 0 :(得分:1)

根据你提供的实现,我猜你正在使用jQuery TouchSwipe插件,对吗?

是的,你注意到你正在使用jQuery TouchSwipe插件,我的坏:):

您应该使用TouchSwipe点击事件代替jQuery点击事件(不考虑其他插件事件)。此实现有助于区分点击与滑动事件,并有助于确保只有一个被执行。

jQuery(function()
{
    jQuery('.button').swipe({
        tap: function()
        {
            alert('tapped');
        },
        swipe: function(event, direction, distance, duration, fingerCount)
        {
            alert('swiped');            
        }
    });
});

演示:http://jsfiddle.net/bsmayh1q/