2010-12-15 19 views
4

jqueryで小さなスクロールを書きました。 scrollerはPCとMacで完全に動作するようです。ただし、タッチデバイスでは機能しません。ipad/iphone互換のMousedownイベント? - 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

答えて

1

特別なことはありません。この時点では2つのスクリプトを使用しています。最初のスクリプトは、Detecting touch-based browsingにAlastair Campbellによって書かれたタッチスクリーンデバイスを識別します。

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のモバイル

1

あなたはtaptaphold

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

その新しいイベントを処理するjQueryのモバイル試しを使用している場合、それは単にアイデアだので、私は、それをテストすることはできません(Iあなたのアプリが何をしているのか分かりませんが)、click to mouseupイベントを試してみてください。

関連する問題