我正在使用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');
});
感谢您的帮助!
答案 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呢?