2010-12-15 9 views
4

Ich schrieb einen kleinen Scroller in jquery. Der Scroller scheint perfekt auf PC und Mac zu funktionieren. Es funktioniert jedoch nicht auf Touch-Geräten.Mousedown Event mit ipad/iphone Kompatibilität? - jQuery Mobile

Ich denke, das ist aufgrund mousedown Eigenschaft aufgerufen werden. Wie kann ich dies auf PC- und Touchscreen-Geräten durchführen?

Dank

$('.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

Um eine Antwort mit Code-Fixes zu erhalten - eine Demo und Link, um es in der Frage veröffentlichen, damit die Menschen testen, was funktioniert und wie. – naugtur

Antwort

1

Nichts besonderes gefunden, also verwende ich in diesem Moment 2 Skripte. Das erste Skript identifiziert die Touchscreen-Geräte wie von Alastair Campbell unter Detecting touch-based browsing beschrieben.

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

und verwenden Sie dann das mousedown Ereignis für regelmäßigen Browser und tap Ereignis für Touchscreen-Geräte verwenden.

P. S - Mit beiden jQuery und jQuery Mobile

1

Wenn Sie jQuery Mobile versuchen, seine neue Behandlung von Ereignissen tap und taphold

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

Ich kann es nicht testen, verwenden sind, ist es so nur eine Idee (I Ich bin mir nicht sicher, ob ich verstehe, was Ihre App macht, aber Sie können versuchen, das Click-to-Mouse-Up-Ereignis zu ändern.

Verwandte Themen