简单梳理一下DOM中的各种宽、高。首先我们给全局DOM加一个鼠标点击监听事件,用于监听我们要观察的宽高,代码如下:
window.addEventListener("mousedown",demo);
function demo(e){
e=e || window.event;
console.log("我们观察的宽高值");
}
1.e.x , e.y
获取的是相对于屏幕可见区域的坐标,如果存在滚动条,那么隐藏的那部分是被忽略的,也就是说如果网页很长,出现了滚动条时,鼠标放在如图位置点击鼠标,随后鼠标不动,滚动滚轮,再次点击,两次都是(0,0)。等同于div.clientX 与 div.clientY 这样获取。
2.e.pageX , e.pageY(IE不支持)
获取的是相对于文档的坐标,左上角为(0,0),左、上为负,右、下为正。如果网页很长,出现了滚动条,我们进行如下操作:
- 鼠标放在图示位置点击一次,输出(0,0)。
- 保持鼠标不动,滚动鼠标滚轮,鼠标再次点击,输出(0,167)。
所以可见pageX 和 pageY获取的是相对文档高度,可以理解为距body最左上角的位值。
3.e.screenX , e.screenY