主题
坐标
MouseEvent 中的坐标属性
属性 | 描述 |
---|---|
offsetX , offsetY | 鼠标指针相对于触发事件的元素的坐标(元素的左上角为原点)。 |
clientX , clientY | 鼠标指针相对于浏览器视口的坐标(不包括滚动条和页面滚动)。 |
x , y | 与 clientX 和 clientY 相同,是它们的别名。 |
pageX , pageY | 鼠标指针相对于整个文档的坐标(包括页面滚动)。 |
screenX , screenY | 鼠标指针相对于屏幕的坐标(整个屏幕的左上角为原点)。 |
getBoundingClientRect()
el.getBoundingClientRect()
返回最小矩形的窗口坐标,该矩形将 el
作为内建 DOMRect
类的对象。
主要的 DOMRect
属性:
x/y
—— 矩形原点相对于窗口的 X/Y 坐标,width/height
—— 矩形的 width/height(可以为负)。- 此外,还有派生(derived)属性:
- top/bottom —— 顶部/底部矩形边缘的 Y 坐标,
- left/right —— 左/右矩形边缘的 X 坐标。
示例:
js
let elem = document.querySelector('div')
let rect = elem.getBoundingClientRect()
for (var key in rect) {
if (typeof rect[key] !== 'function') {
let para = document.createElement('p')
para.textContent = `${key} : ${rect[key]}`
document.body.appendChild(para)
}
}