4

私はjqueryで小さなスクローラーを書きました。スクローラーはPCとMacで完全に機能するようです。ただし、タッチデバイスでは機能しません。

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);

});
4

2 に答える 2

1

jquery mobileを使用している場合は、新しいイベントtapを処理してみてください。taphold

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

テストできないので、それは単なるアイデアです(アプリの機能を理解しているかどうかはわかりません)が、クリックをマウスアップイベントに変更してみてください。

于 2010-12-15T11:58:46.517 に答える
1

特別なものは見つからなかったので、現時点では2つのスクリプトを使用しています。最初のスクリプトは、タッチベースのブラウジングの検出に関してAlastairCampbellによって作成されたタッチスクリーンデバイスを識別します。

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

次に、mousedownイベントを通常のブラウザに使用し、tapイベントをタッチスクリーンデバイスに使用します。

PS-jQueryとjQueryMobileの両方を使用する

于 2010-12-18T05:31:40.400 に答える