2016-11-02 56 views
0

在我的控制檯中,我的後續腳本不僅在單擊鼠標滾輪時開始記錄,而且在您停止按住鼠標滾輪按鈕後也會繼續。jQuery僅在單擊保留時收聽

var mPosX, 
    mPosY; 

$(document).on('mousedown', function (e) { 
    "use strict"; 
    if(e.which === 2) { 
     e.preventDefault(); 
     mPosX = event.pageX; 
     mPosY = event.pageX; 
     $(document).mousemove(function(event){ 
      var CmPosX = event.pageX, 
       CmPosY = event.pageX; 
      console.log('Original X: ' + mPosX + ', New X: ' + CmPosX + ' | Original Y: ' + mPosY + ', New Y: ' + CmPosY); 
     }); 
    } 
}); 

如何讓我的腳本只在記錄的同時按住鼠標滾輪停止釋放?

+0

Access可以使用 '點擊' 事件而不是 '鼠標按下'? –

+0

@KhorshedAlam我試過這個,但是隻有在你使用click事件釋放後纔會啓動日誌。 –

回答

2

你會存儲在mousedownmouseup東西,你可以在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

這是非常好的。非常感謝你! –