我正在尝试创建在鼠标左键单击时获得鼠标指针位置的代码。但是,当我使用下面的代码时,它仅在左键单击时返回鼠标指针位置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)
})
您可能应该在这里使用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)
}
})