如何在javascript中按住鼠标左键

问题描述 投票:0回答:1

我正在尝试创建在鼠标左键单击时获得鼠标指针位置的代码。但是,当我使用下面的代码时,它仅在左键单击时返回鼠标指针位置ONCE,并且要使其再次获得鼠标位置,必须释放按钮并再次单击。我如何修改此代码,以便如果左键单击鼠标,则每隔0.1秒返回一次鼠标指针的坐标。因此,代码将检测是否按住了鼠标左键

var canvas = document.getElementById('canvas');
function getCursorPosition(canvas, event) {
        const rect = canvas.getBoundingClientRect()
        const x = event.clientX - rect.left
        const y = event.clientY - rect.top
        console.log("x: " + x + " y: " + y)
    }
canvas.addEventListener('mousedown', function(e) {
        getCursorPosition(canvas, e)
    })
javascript html
1个回答
0
投票

您可能应该在这里使用mousemove事件:

 var  holding = false;
 var canvas = document.getElementById('canvas');
 function getCursorPosition(canvas, event) {
     const rect = canvas.getBoundingClientRect()
     const x = event.clientX - rect.left
     const y = event.clientY - rect.top
     console.log("x: " + x + " y: " + y)
 }
 canvas.addEventListener('mousedown', function(e) {
     holding = true;

 })
 canvas.addEventListener('mouseup', function(e) {
     holding = false;

 })
   canvas.addEventListener('mousemove', function(e) {
   if(holding == true){
     getCursorPosition(canvas, e)
   }
 })
© www.soinside.com 2019 - 2024. All rights reserved.