当前位置:首页 > JavaScript

js实现mousemove

2026-02-02 02:50:16JavaScript

监听 mousemove 事件

在 JavaScript 中,可以通过 addEventListener 方法监听 mousemove 事件。该事件会在鼠标指针移动时触发。

document.addEventListener('mousemove', function(event) {
  console.log('鼠标位置:', event.clientX, event.clientY);
});

获取鼠标坐标

mousemove 事件对象包含多个属性可以获取鼠标位置信息:

  • clientX / clientY:相对于浏览器窗口可视区域的坐标
  • pageX / pageY:相对于整个文档的坐标(包含滚动偏移)
  • screenX / screenY:相对于屏幕物理分辨率的坐标
element.addEventListener('mousemove', (e) => {
  console.log('窗口坐标:', e.clientX, e.clientY);
  console.log('文档坐标:', e.pageX, e.pageY); 
  console.log('屏幕坐标:', e.screenX, e.screenY);
});

性能优化

频繁触发的 mousemove 事件可能导致性能问题,可以通过节流(throttle)技术优化:

function throttle(fn, delay) {
  let lastCall = 0;
  return function(...args) {
    const now = new Date().getTime();
    if (now - lastCall < delay) return;
    lastCall = now;
    return fn(...args);
  }
}

const optimizedHandler = throttle((e) => {
  console.log('节流处理:', e.clientX);
}, 100);

document.addEventListener('mousemove', optimizedHandler);

应用示例:元素跟随鼠标

实现一个元素跟随鼠标移动的效果:

const follower = document.getElementById('follower');

document.addEventListener('mousemove', (e) => {
  follower.style.transform = `translate(${e.clientX}px, ${e.clientY}px)`;
});

移除事件监听

当不再需要监听时,应该移除事件处理器:

js实现mousemove

const handler = function(e) {
  console.log(e.clientX);
};

// 添加监听
document.addEventListener('mousemove', handler);

// 移除监听 
document.removeEventListener('mousemove', handler);

标签: jsmousemove
分享给朋友:

相关文章

js实现打印

js实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js实现预览

js实现预览

文件上传预览实现 使用JavaScript实现文件上传预览功能,可以通过FileReader对象读取文件内容并显示预览。以下代码支持图片、文本和PDF文件的预览: // HTML部分需要包含inpu…

js 实现跳转

js 实现跳转

使用 window.location.href 进行跳转 通过修改 window.location.href 可以跳转到指定 URL,浏览器会加载新页面: window.location.hre…

js实现滑动

js实现滑动

实现滑动效果的方法 在JavaScript中实现滑动效果可以通过多种方式完成,以下是几种常见的实现方法: 使用CSS过渡和JavaScript触发 通过CSS定义过渡效果,JavaScript控制触…

js实现原理

js实现原理

JavaScript 实现原理 JavaScript 是一种解释型语言,其实现原理涉及多个核心组件和运行机制,包括引擎、运行时环境、事件循环等。 引擎与解释执行 现代 JavaScript 引擎(如…

js 实现日历

js 实现日历

实现日历的基本思路 日历的核心功能是展示日期,并允许用户进行日期选择或导航。JavaScript 可以动态生成日历的 HTML 结构,并处理用户交互逻辑。 基础日历结构 日历通常包含头部(显示月份和…