You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JavaScript记录鼠标指针坐标时出现错误

解决鼠标坐标获取与setInterval配合的问题

你的代码报错核心原因是:event变量仅在事件触发的回调函数内部存在(比如鼠标点击、移动这类事件的处理函数),而setInterval的回调不属于事件上下文,根本找不到这个变量,所以会提示无法识别。

正确的做法是把鼠标坐标先存起来,再用setInterval读取存储的值,具体步骤如下:

  1. 声明变量存储当前鼠标的X、Y坐标
  2. 通过addEventListener监听mousemove事件,每次鼠标移动时更新坐标变量
  3. 在setInterval的回调里读取这个变量,就能拿到实时坐标

完整代码示例:

// 初始化鼠标坐标变量
let mouseX = 0;
let mouseY = 0;

// 监听鼠标移动,实时更新坐标
document.addEventListener('mousemove', function(e) {
    mouseX = e.pageX;
    mouseY = e.pageY;
});

// 定时输出坐标(建议调整间隔,1ms太频繁会占用性能)
setInterval(function() {
    console.log(`鼠标X坐标:${mouseX},Y坐标:${mouseY}`);
}, 100);

补充说明:

  • 如果你的需求只是记录鼠标移动时的坐标,其实不需要setInterval,直接在mousemove的回调里处理即可;只有当需要定时采样坐标(比如每隔一段时间记录一次当前位置)时,才需要配合setInterval
  • 不要用1ms的间隔,这会让浏览器高频执行函数,严重占用性能,根据实际需求调整到100ms或更长即可

内容的提问来源于stack exchange,提问作者Wild and Rare

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 08:59:53