鼠标行为
- clientX/Y -> 鼠标位置相对于当前可视区域的坐标
- pageX/Y -> 鼠标位置相对于整个文档的坐标 ie9 以下不支持
- screenX/Y -> 鼠标位置相对于屏幕的距离
- x/y 等同于 clientX clientY 但是火狐不支持
- layerX/layerY 等同于 pageX/Y ie11 以下不支持
- offsetX/Y 鼠标位置相对于绑定事件的块元素的坐标(包含边框,safari 不包含边框)
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,
};
}