【问题标题】:Prevent click events from executing after a touch event防止点击事件在触摸事件后执行
【发布时间】:2014-09-02 11:56:55
【问题描述】:

简单解释一下我有这个代码:

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

我希望能够处理我的元素(TouchSwipe 插件)上的滑动和点击。问题是触摸也是点击。所以如果我刷卡,我会首先得到“你刷卡了!”然后是“你点击了!”。点击就可以了。

如果 .swipe() 已经执行,是否可以停止执行 .click() ?当然,这必须每次都起作用。

【问题讨论】:

标签: jquery onclick swipe touch-event


【解决方案1】:

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

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

您应该使用 TouchSwipe 点击事件,而不是 jQuery click 事件(不考虑其他插件事件)。这种实现有助于区分点击和滑动事件,并有助于确保只有一个被执行。

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

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

【讨论】:

    猜你喜欢
    • 2023-03-27
    • 2015-04-28
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    • 1970-01-01
    • 2016-07-17
    • 2014-11-08
    • 1970-01-01
    相关资源
    最近更新 更多