2017-06-22 2 views
1

私はマウスホイールにイベントバインドを使用していますが、これを使用して計算を行うため、同じ関数を使用してタッチデバイスから同じ計算を実行できます。タッチデバイスを使用したマウスホイールイベントのトリガー

私のコードは次のようである:

$('#element').bind("mousewheel DOMMouseScroll", function(event) { 
      event.preventDefault(); 
      if (event.originalEvent.wheelDelta > 0 || event.originalEvent.detail < 0) 
       //do stuff 
      else { 
       //do other stuff 
      } 
     }); 

EDIT:私は完全に明確ではなかった理解のコメントからと、私の目標は私があれば認識させる「wheelDelta」のような値を得ることですユーザーは上下にスクロール(タッチ移動)しています

+0

ありません役立ちます願っています。多分あなたは 'mousemove'と' touchmove'を一緒に使ってみるべきでしょうか? –

+0

私のプラグイン[jquery-do-scroll](https://github.com/WashingtonGuedes/jquery-do-scroll)を試すことができます。これは、マウス、タッチ、およびホイールイベントで動作します。 –

答えて

0

これは適切な解決策ではないかもしれませんが、このようなことがあります。

var lastScroll = 0; 

    $('#element').on("scroll", function() { 
    var st = $(this).scrollTop(); 
    if (st > lastScroll){ 
     // downscroll code 
     //$(this).trigger("mousewheeldown"); 
    } else { 
     // upscroll code 
     //$(this).trigger("mousewheelup"); 
    } 
    lastScroll = st; 
    $(this).trigger("mousewheel"); 
    }); 

私はタッチデバイスには、 `mousewheel`イベントが:)

+0

彼らはなぜこのようなことをしますか? –

+0

彼は基本的に、ユーザが生成した1つのイベントを検出し、手動で別のイベントをトリガすることができます。それは基本的に彼が私の理解に従って望んでいるものです。 –

+0

私のコードにはクリックはありませんあなたが提案したようなものを試してみる理由は分かりません – Plastic

関連する問題