鼠标事件
onclick单击onmouseover/onmouseout移入移出,从父元素移入子元素会切换事件对象,事件委派不应使用onmounseenter/onmouseleave移入移出,从父元素移入子元素不会切换事件对象onmousemove移动onmousedown/onmouseup按下 / 弹起
拖拽
offset
offsetWidthcontent + padding + border 包含边框盒子的宽度,只读offsetHeightcontent + padding + border 包含边框盒子的高度,只读offsetParent是offsetLeft和offsetTop最近的定位祖先元素,可以是:- css 定位元素,即
position为absolute、relative或fixed的元素 <td>、<th>、<table><body>
- css 定位元素,即
offsetLeft相对于offsetParent的左侧边缘坐标offsetTop相对于offsetParent的顶部边缘坐标
client
clientWidthcontent + padding 内容的宽度,包括内间距不包括边框和外间距,只读clientHeightcontent + padding 内容的高度,包括间距不包括边框和外间距,只读clientTop上边框宽度,只读clientLeft左边框宽度,只读
scroll
scrollWidth内容的宽度,包括内间距和可滚动的可视区域外尺寸,只读- 内容未超出父元素等同于
clientWidth - 内容超出父元素等同于 content + 超出部分 + 一侧内间距 的宽度
- 内容未超出父元素等同于
scrollHeight内容的高度,包括内间距和可滚动的可视区域外尺寸,只读- 内容未超出父元素等同于
clientHeight - 内容超出父元素等同于 content + 超出部分 + 一侧内间距 的高度
- 内容未超出父元素等同于
scrollTop上边框宽度,可写scrollLeft左边框宽度,可写
鼠标坐标
clientX和clientY(Window-relative)clientX事件发生位置相对于与该事件关联的视口的水平坐标clientY事件发生位置相对于与该事件关联的视口的垂直坐标
pageX和pageY(Document-relative)pageX事件发生位置相对于当前浏览器窗口的水平坐标pageY事件发生位置相对于当前浏览器窗口的垂直坐标
offsetX和offsetY(Element-relative)- 事件发生位置相对于自身元素的水平坐标
- 事件发生位置相对于自身元素的垂直坐标
pageY = clientY + 文档垂直部分滚动的高度
pageX = clientX + 文档水平部分滚动的宽度