2010-12-15 39 views
4

我在jquery中寫了一個小型的滾動條。 Scroller似乎可以在PC和Mac上完美運行。但它不適用於觸摸設備。Mousedown事件與iPad/iPhone兼容性? - jQuery Mobile

我想這是由於mousedown屬性被調用。我如何在PC和觸摸屏設備上進行這項工作?

感謝

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

要獲得代碼修復一個答案 - 發佈演示,並鏈接到它的問題,使人們可以測試哪些工作以及如何。 – naugtur 2010-12-15 12:01:28

回答

1

沒有特別的發現,所以在這一刻我使用2個腳本。第一個腳本標識了由Alastair Campbell編寫的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 
    } 
} 

,然後使用mousedown事件經常瀏覽器和使用tap事件觸摸屏設備。

P.S - 同時使用jQuery和jQuery Mobile的