滑动事件触发了针对ipod touch的点击事件

时间:2011-07-01 16:13:30

标签: jquery jquery-mobile swipe tap

我正在使用jquery mobile beta和jquery 1.6。 在ipod touch上,滑动事件也会触发tap事件。 这个问题不是在Android设备上。 我试图谷歌解决方案,但看起来没有很多同样的问题。我有什么非常基本的东西吗?

$("div.totapandswipe").bind('tap',function(event, ui){
    alert('event');
});

$("div.totapandswipe").bind('swipe',function(event, ui){
            alert('event');
});

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

我发现我需要取消绑定('click')作为我的bind('swipeleft swiperight')函数中的第一个选项。由于我的滑动转到新页面,该页面重新绑定它刚刚离开的页面的“点击”事件。我的实用程序是一个闪存卡,水龙头带来一张新卡并轻扫翻转它。祝你好运。

$('#flashVerse').bind('swipeleft swiperight', function(event) {
    console.log(event.type);
    $('#flashVerse').unbind('click');
    if(event.type == 'swipeleft') {
        $.mobile.changePage('flashReference','flip');
    } else {
        $.mobile.changePage('flashReference','flip',true,false);
        console.log('SWIPERIGHT');
    }
});

$('#flashReference').live('pageshow',function(event,ui){
    if((tipsOn() || ls.getItem('tipFlash') == '1') && ui.prevPage.attr('id')!='flashVerse') {
        ls.setItem('tipFlash','0');
        var msg = 'Swipe to flip the card.\n Tap for a new card.\nuse Options to turn Tips back on.';
        if(phoneGap) navigator.notification.alert(msg,dummy,'Flash Cards','OK');
        else alert(msg);
    }
    $('#lnkFlashVerse').addClass('ui-btn-active').addClass('ui-state-persist');
    $('#lnkFlashReference').removeClass('ui-btn-active').removeClass('ui-state-persist');
    $('#flashReference').bind('click', function(event) {
        console.log(event.type);
        newFlashCard();
        //$('#flashReference div[data-role="content"]').append('clicked ');
    });
});

答案 1 :(得分:1)

这似乎对我有所帮助:

$("selector").swiperight(function (e) {
  if (e.type === "swiperight") {
    myHandler(e);
  }
});

这是一个问题,这是一个蹩脚的问题。 Jqm这个bug呢?