javascript - 使用 console.log 时无法读取未定义的属性“clientX”
问题描述
我试图制作一个简单的游戏作弊检测器,我在测试时遇到了这个问题。我的问题是,当我尝试打印坐标时,它给了我这个错误:Uncaught TypeError: Cannot read property 'clientX' of undefined
我认为我的问题是因为循环,它可能真的很简单,但这是我的代码:
var USrPosX
var USrPosY
setInterval(Chk, 1000)
function Chk() {
USrPosX = event.clientX
USrPosY = event.clientY
console.log(USrPosX)
console.log(USrPosY)
}
解决方案
您收到错误的原因是因为您从未指定“事件”。通过查看您要执行的操作,我假设您想要获取鼠标坐标。如果您正在侦听文档上的“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”事件时,它由浏览器发送。
推荐阅读
- mysql - MySQL 默认值为 NULL
- asp.net - Asp.Net 菜单来自 Sql Server“MenuItemClick”事件未触发
- r - R 到 Oracle 连接
- r - 在 R 的 ergm 包中,如果我想模拟具有同质性/聚类的图,我应该输入什么模拟网络?
- video - ffmpeg - 在两次之间向视频添加文本
- solid-principles - 单一责任原则与开闭原则
- javascript - 如何使用 Mailjet 进行身份验证而不会出现与 node_modules 相关的错误?
- laravel - 航海者 Laravel axios 获得 405
- csv - 将 csv 导入 sqlite3 插入失败
- javascript - 如何在 Angular Binding 中编写 Javascript?