Размах события запускает событие касания для ipod touch - PullRequest
5 голосов
/ 01 июля 2011

Я использую мобильную бета-версию jquery и jquery 1.6.На ipod touch событие удара также вызывает событие касания.Эта проблема не происходит на устройствах Android.Я пытаюсь найти решение, но похоже, что не многие с такой же проблемой.Что-то очень простое, что мне не хватает ??

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

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

Спасибо за помощь!

Ответы [ 2 ]

2 голосов
/ 20 июля 2011

Я обнаружил, что мне нужно открепить («щелкнуть») в качестве первой опции в моей функции связывания («swipeleft swiperight»). Так как мое пролистывание переходит на новую страницу, эта страница повторно связывает событие click для страницы, которую она только что покинула. Моя утилита - это флеш-карта, тап которой приносит новую карточку, и ее можно перевернуть. Удачи.

$('#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 голос
/ 18 августа 2011

Мне показалось, что это помогло:

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

Жаль, что это будет проблемой. Jqm ошибка на этом еще?

...