使用 console.log 时无法读取未定义的属性“clientX”
2021-07-01
329
我尝试制作一个简单的游戏作弊检测器,在测试时遇到了这个问题。我的问题是,当我尝试打印坐标时,它给出了这个错误: Uncaught TypeError:无法读取未定义的属性“clientX”
我认为我的问题是由于循环引起的,它可能真的很简单,但这是我的代码:
var USrPosX
var USrPosY
setInterval(Chk, 1000)
function Chk() {
USrPosX = event.clientX
USrPosY = event.clientY
console.log(USrPosX)
console.log(USrPosY)
}
2个回答
您收到错误的原因是您从未指定“事件”。 通过查看您要执行的操作,我假设您想要获取鼠标坐标。如果您正在监听文档上的“mousemove”事件,您将能够访问 clientX 和 clientY 属性:
var USrPosX;
var USrPosY;
document.addEventListener('mousemove', onMouseMove);
function onMouseMove(event){
USrPosX = event.clientX;
USrPosY = event.clientY;
}
setInterval(Chk, 1000);
function Chk(event) {
console.log(USrPosX)
console.log(USrPosY)
}
您可以看到我在事件监听器“onMouseMove”中将“事件”作为参数获取。每当触发“mousemove”事件时,浏览器都会发送该事件。
Nikola.grancharov
2021-07-01
您需要先注册Mousemove事件。
这是一个更正的版本:
330110477
Mainuddin
2021-07-01