鼠标事件(一)

说到事件,不得不讲的就是鼠标事件,因为鼠标是计算机最精准的定位设备,很多操作都需要鼠标。常见的鼠标事件有:

  1. click,点击鼠标或按下enter键时触发。
  2. dbclick,连续两次点击鼠标时触发。
  3. mouseover,当鼠标从a元素移动到b元素上时在b元素上触发,a元素可能在b元素外部也可能在b元素内部。
  4. mouseout,当鼠标a元素移动到b元素上时在a元素上触发,a元素可能在b元素外部也可能在b元素内部。
  5. mousedown,当按下鼠标上的任意一个按钮时触发。
  6. mouseup,当鼠标上的按钮被抬起时触发。
  7. mouseenter,当鼠标进入一个元素上时触发,该事件不冒泡,DOM3列入规范。
  8. mouseleaver,当鼠标离开一个元素上时触发,该事件不冒泡,DOM3列入规范。

绑定鼠标事件建议不要取消默认行为,因为它们有依赖关系,比如只有当鼠标按钮按下并抬起时才会触发click事件,如果取消了mousedown或mouseup的默认行为,那么click将不会被触发,在ie9+及其他标准浏览器下,鼠标事件的触发顺序如下:

  1. mousedown 
  2. mouseup
  3. click
  4. mousedown
  5. mouseup
  6. click
  7. dbclick

ie8中的顺序如下:

  1. mousedown 
  2. mouseup
  3. click
  4. mouseup
  5. click

要检测浏览器是否支持DOM2级规范规定的鼠标事件(除dbclick、mouseenter、mouseleave),可用下列方法:

var isSupported = document.implementation.hasFeature('MouseEvents','2.0');

要检测浏览器是否支持以上所有鼠标事件,可用下列方法:

var isSupported = document.implementation.hasFeature('MouseEvent','3.0');//注意,这里是MouseEvent而非MouseEvents
原文地址:https://www.cnblogs.com/luoshufang/p/5717236.html