Code前端首页关于Code前端联系我们

js鼠标事件总结

terry 2年前 (2023-09-09) 阅读数 198 #Javascript
文章标签 JavaScriptmouse event

本文的目标:了解在JavaScript中使用鼠标事件的基础知识。

js 鼠标事件总结

监听鼠标事件会触发我们可以与之交互的几个事件:

  • 按下鼠标按钮时触发
  • 释放鼠标按钮时触发鼠标向上
  • click 单击事件
  • 双击 双击事件
  • 鼠标移动 鼠标在元素上移动
  • mouseover当鼠标移动到某个元素或其子元素之一上时。
  • mouseenter 当鼠标移到某个元素上时,鼠标进入。与鼠标悬停类似,但没有气泡。
  • 当鼠标移出元素以及鼠标进入子元素时,鼠标移出。
  • mouseleave 当鼠标移出元素时,mouseleave。与 Mouseout 类似,但没有气泡。
  • 上下文菜单 快捷菜单 当快捷菜单打开时,例如通过右键单击

事件重叠。当您跟踪单击事件时,就像跟踪 mousedown 和 mouseup 事件一样。对于 dblclick,还会触发两次单击。

mousedown、mousemove 和 mouseup 可以一起使用来跟踪拖放事件。

请小心 Mousemove,因为当鼠标移动时它会触发多次。我们需要应用节流,这是我们在分析卷轴时将详细讨论的内容。

在事件处理程序中,我们可以访问一组事件属性

例如,在鼠标事件中,我们可以通过检查事件对象的按钮属性来检查按下了哪个鼠标按钮:

const link = document.getElementById('my-link')
link.addEventListener('mousedown', event => {
  // mouse button pressed
  console.log(event.button) //0=left, 2=right
})

以下是我们可以使用的所有属性:

  • AltKey 如果在事件触发时按下 Alt 键,则 altKey 为 true。
  • Buttons 如果有按钮,这是触发鼠标事件时将按下的按钮数量(通常 0 = 主按钮,1 = 中按钮,2 = 右键)。处理由单击按钮(例如单击)引起的事件。
  • 按钮 按钮(如果有)表示每个鼠标事件上按下按钮的次数。
  • clientX / clientY 鼠标指针相对于浏览器窗口的 x 和 y 坐标,无论是否滚动。
  • ctrlKey 如果事件触发时按下 ctrl 键,则 ctrlKey 为 true。
  • metaKey 如果在事件触发时按下元键,则 metaKey true。
  • movementX / movingY movingX / movingY 鼠标指针位置相对于上一个 mousemove 事件的 x 和 y 坐标。
  • Region Canvas API 中使用的区域。
  • latedTarget 相关目标事件的次要目标,例如移动时。
  • screenX / screenY 鼠标指针的 x 和 y 坐标以及屏幕坐标。
  • shiftKey 如果在事件触发时按下 Shift 键,则 shiftKey 为 true。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门