2010-12-15 5 views
4

J'ai écrit un petit défilement dans jquery. Le défilement semble fonctionner parfaitement sur PC et Mac. Cependant, cela ne fonctionne pas sur les appareils tactiles.Événement Mousedown avec compatibilité ipad/iphone? - jQuery Mobile

Je suppose que cela est dû à l'appel de la propriété mousedown. Comment est-ce que je fais ce travail sur les appareils PC et à écran tactile?

Merci

$('.scroll-nav-up, .scroll-nav-down').live('click', function(){ 
    $('.scroller-wrap').stop(); 
    return false; 
}); 


$('.scroll-nav-up').live('mousedown', function(){ 

    $(this).closest('.item').find('.scroller-wrap').animate({ 
     top: -($(this).closest('.item').find('.scroller-wrap').height() - 250) 
    }, 800); 

}); 


$('.scroll-nav-down').live('mousedown', function(){ 

    $(this).closest('.item').find('.scroller-wrap').animate({ 
     top: 0 
    }, 800); 

}); 
+0

Pour obtenir une réponse avec des corrections de code - publier une démo et un lien vers la question afin que les gens peuvent tester ce qui fonctionne et comment. – naugtur

Répondre

1

Rien de spécial trouvé, donc en ce moment j'utilise 2 scripts. Le premier script identifie les dispositifs à écran tactile tels qu'écrits par Alastair Campbell au Detecting touch-based browsing.

function isTouchDevice() { 
    var el = document.createElement('div'); 
    el.setAttribute('ongesturestart', 'return;'); 
    if(typeof el.ongesturestart == "function"){ 
     return true; 
    }else { 
     return false 
    } 
} 

puis utiliser l'événement mousedown pour les navigateurs réguliers et utiliser événement tap pour les appareils à écran tactile.

P.S - utilisant à la fois jQuery et jQuery Mobile

1

Si vous utilisez jquery essayer ses nouveaux mobile chargée de contrôler les événements tap et taphold

http://jquerymobile.com/demos/1.0a2/#docs/api/events.html

Je ne peux pas le tester, il est donc juste une idée (I Je ne sais pas si je comprends ce que votre application fait), mais vous pouvez essayer de changer l'événement click to mouseup.

Questions connexes