鼠标事件

事件类型

  • click

    用户点击主鼠标按钮(一般是左键)或者在聚焦时按下回车键时触发

  • dblclick

    用户双击主鼠标按键触发(频率取决于系统配置)

  • mousedown

    用户按下鼠标任意按键时触发

  • mouseup

    用户抬起鼠标任意按键时触发

  • mousemove

    鼠标在元素上移动时触发

  • mouseover

    鼠标进入元素时触发

  • mouseout

    鼠标离开元素时触发

  • mouseenter

    鼠标进入元素时触发,该事件不会冒泡

  • mouseleave

    鼠标离开元素时触发,该事件不会冒泡

区别:

  • overout

    不考虑子元素,从父元素移动到子元素,对于父元素而言,仍然算作离开

  • enterleave

    考虑子元素,子元素仍然是父元素的一部分

  • mouseentermouseleave不会冒泡

e.bubbles:事件属性,可以查看是否冒泡,boolean 值

事件对象

所有鼠标事件,事件处理程序中的事件对象,都为 MouseEvent

  • altKey

    触发事件时,是否按下了键盘的 alt 键

  • ctrlKey

    触发事件时,是否按下了键盘的 ctrl 键

  • shiftKey

    触发事件时,是否按下了键盘的 shift 键

  • button 触发事件时,按下的鼠标按键类型

    • 0:左键
    • 1:中键
    • 2:右键

位置:

  • pagepageX、pageY

    鼠标距离当前页面的横纵坐标

  • clientclientX、clientY

    鼠标相对于视口的坐标

  • offsetoffsetX、offsetY

    鼠标相对于事件源的内边距的坐标

  • screenscreenX、screenY

    鼠标相对于屏幕的横纵坐标

  • x、y,等同于clientX、clientY

  • movementmovementX、movementY

    只在鼠标移动事件中有效,相对于上一次鼠标位置,偏移的距离