搬运的文章,自己收藏用,如有侵权,立马删除 鼠标事件
鼠标事件
鼠标事件有下面这几种:
- onclick
鼠标点击事件 box.onclick = function(e){ console.log(e) } 2. onmousedown
鼠标按下事件
box.onmousedown = function(e){ console.log(e) } 3. onmouseup
鼠标松开事件
box.onmouseup = function(e){ console.log(e) } 4. onmousemove
鼠标移动事件
box.onmousemove = function(e){ console.log(e) } 5. onmouseover
鼠标经过事件
box.onmouseover = function(e){ console.log(e) } 6. onmouseout
鼠标划出事件
box.onmouseout = function(e){ console.log(e) } 根据以上打印的e的信息,大致为:
由鼠标事件(MouseEvent)可以发现: 其中包含了许多的坐标,且每个坐标的含义都不一样。下面我们来挨个介绍常用的坐标,以及它们的含义。
一、clientX、clientY 点击位置距离当前body可视区域的x,y坐标
二、pageX、pageY 对于整个页面来说,包括了被卷去的body部分的长度
三、screenX、screenY 点击位置距离当前电脑屏幕的x,y坐标
四、offsetX、offsetY 相对于带有定位的父盒子的x,y坐标
五、x、y(图中标注的不标准 感谢追风programer发现了这个问题 ) 和clientX、clientY一样
如图所示:
补充知识点:
clientLeft、clientTop
表示内容区域的左上角相对于整个元素左上角的位置(包括边框)。(取决于边框的像数值?)
clientWidth、clientHeight
内容区域的宽高,不包括边框宽度值。包括滚动条的宽度(包括元素高度、内边距,不包括边框和外边距)
offsetLeft、offsetTop
相对于最近的祖先定位元素。滚动条的宽度也会算进去
offsetWidth、offsetHeight
整个元素的尺寸,包括滚动条的宽度(包括元素高度、内边距和边框,不包括外边距)
scrollLeft、scrollTop
元素滚动的距离大小
scrollWidth、scrollHeight
整个内容区域的宽度(包括需拉动滚动条隐藏起来的那些部分) scrollWidth = scrollTop+clientWidth
# 搞懂clientWidth,offsetWidth,scrollHeight