2016-11-02 1 views
0

私のコンソールでは、次のスクリプトはマウスホイールをクリックしたときだけでなく、マウスホイールボタンを押した後もログを記録します。jQueryをクリックしたときだけ聞く

マウスホイールを押したままにして放すと停止するようにスクリプトを設定するにはどうすればよいですか?

+0

にアクセスすることができmousedownmouseupで何かを保存するだろうか? –

+0

@ KhorshedAlam私はこれを試しましたが、ログはクリックイベントを使用してリリースした後にのみ開始します。 –

答えて

2

あなたは、あなたが使う代わりに 'マウスダウン' のイベントを 'クリック' することができmousemove

$(document).on({ 
 
    mousedown: function(e) { 
 
    e.preventDefault(); 
 

 
    if (e.which === 2) 
 
     $(window).data('isDown', true).data('mPosX', e.pageX).data('mPosY', e.pageY); 
 
    }, 
 
    mouseup: function(e) { 
 
    e.preventDefault(); 
 

 
    if (e.which === 2) 
 
     $(window).data('isDown', false); 
 
    }, 
 
    mousemove: function(e) { 
 
    if ($(window).data('isDown')) { 
 
     var CmPosX = e.pageX, 
 
      CmPosY = e.pageY, 
 
      mPosX = $(window).data('mPosX'), 
 
      mPosY = $(window).data('mPosY'); 
 

 
     console.log('Original X: ' + mPosX + 
 
        ', New X: '  + CmPosX + 
 
        ' | Original Y: ' + mPosY + 
 
        ', New Y: '  + CmPosY); 
 
    } 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p>Hold down mousewheel and move ...</p>

+0

これはとても良いです。どうもありがとうございました! –

関連する問題