鼠标行为

161 阅读1分钟

鼠标行为

  • clientX/Y -> 鼠标位置相对于当前可视区域的坐标
  • pageX/Y -> 鼠标位置相对于整个文档的坐标 ie9 以下不支持
  • screenX/Y -> 鼠标位置相对于屏幕的距离
  • x/y 等同于 clientX clientY 但是火狐不支持
  • layerX/layerY 等同于 pageX/Y ie11 以下不支持
  • offsetX/Y 鼠标位置相对于绑定事件的块元素的坐标(包含边框,safari 不包含边框)
// 封装pageX,pageY兼容性写法
function pagePos(e) {
  let scrollLeft = getScrollOffset().left; //获取滚动距离
  let scrollTop = getScrollOffset().top;
  let cLeft = document.documentElement.clientLeft || 0; // 文档偏移
  let cTop = document.documentElement.clientTop || 0; // 文档偏移
  return {
    X: e.clientX + scrollLeft - clientLeft,
    y: e.clientY + scrollTop - clientTop,
  };
}