当前位置:首页 > JavaScript

js实现鼠标

2026-04-06 01:45:09JavaScript

鼠标事件监听

在JavaScript中,可以通过addEventListener为元素绑定鼠标事件。常见事件包括:

  • click:单击
  • dblclick:双击
  • mousedown:按下鼠标按钮
  • mouseup:释放鼠标按钮
  • mousemove:鼠标移动
  • mouseenter/mouseleave:鼠标进入/离开元素
document.getElementById('element').addEventListener('click', function(event) {
  console.log('Clicked at:', event.clientX, event.clientY);
});

鼠标坐标获取

通过事件对象event获取鼠标位置:

  • clientX/clientY:相对于视口的坐标
  • pageX/pageY:相对于文档的坐标
  • screenX/screenY:相对于屏幕的坐标
document.addEventListener('mousemove', function(event) {
  console.log('Viewport position:', event.clientX, event.clientY);
});

阻止默认行为

调用event.preventDefault()可阻止与事件关联的默认行为(如链接跳转)。

document.querySelector('a').addEventListener('click', function(event) {
  event.preventDefault();
});

事件委托

通过事件冒泡机制,在父元素上监听子元素事件:

document.getElementById('parent').addEventListener('click', function(event) {
  if (event.target.classList.contains('child')) {
    console.log('Child element clicked');
  }
});

鼠标拖拽实现

结合mousedownmousemovemouseup实现拖拽效果:

js实现鼠标

let isDragging = false;
const draggable = document.getElementById('draggable');

draggable.addEventListener('mousedown', function() {
  isDragging = true;
});

document.addEventListener('mousemove', function(event) {
  if (isDragging) {
    draggable.style.left = event.clientX + 'px';
    draggable.style.top = event.clientY + 'px';
  }
});

document.addEventListener('mouseup', function() {
  isDragging = false;
});

标签: 鼠标js
分享给朋友:

相关文章

js实现

js实现

实现 JavaScript 功能的方法 在 JavaScript 中实现特定功能通常涉及多个步骤。以下是常见的实现方法: 基础语法和变量声明 使用 let 或 const 声明变量: let co…

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统的…

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。 &…