鼠标事件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>鼠标事件</title>
</head>
<body>
<p>检测到您的电脑有2.4G的垃圾,点击立刻清理</p>
<button>清理缓存</button>
</body>
</html>
<script>
    //onclick,onmousedown,onmouseup,onmouseenter,onmouseout,onmouseleave;onmousemove,onmouseover,ondblclick,onmousewheel
    var btns=document.getElementsByTagName('button');
    btns[0].onclick=function () {
     console.log('click抬起');
    }
    btns[0].onmousedown=function () {
      console.log('按下');
    }
    btns[0].onmouseup=function () {
        console.log('抬起');
    }
    btns[0].onmousemove=function () {
        console.log('移动');
    }
    btns[0].onmouseenter=function () {
        console.log('进入');
    }
    btns[0].onmouseover=function () {
        console.log('进入2');
    }
    btns[0].onmouseleave=function () {
        console.log('离开');
    }
    btns[0].onmouseout=function () {
        console.log('离开2');
    }
    btns[0].onmousewheel=function () {
        console.log('滚轮');
    }
    btns[0].ondblclick=function () {
        console.log('doubleclick双击');
    }

</script>

鼠标事件

 首先,来看看 screenX 和 screenY 属性。这两个属性获得了所有浏览器的支持,应该说是最优选用属性,但是它们的坐标系时计算机屏幕,也就是说,以计算机屏幕左上角为定位原点。这对于以浏览器窗口为活动空间的网页来说没有任何价值。因为不同的屏幕分辨率,不同的浏览器窗口大小和位置,都使得在网页中定位鼠标成为一件很困难的事情。

其次,如果以 document 对象为坐标系,则可以考虑选用 pageX 和 pageY 属性实现在浏览器窗口中进行定位。这对于设计鼠标跟随来说是一个好主意,因为跟随元素一般都以绝对定位的方式在浏览器窗口中移动,在 mousemove 事件处理函数中把 pageX 和 pageY 属性值传递给跟绝对定位元素的 top 和 left样式属性即可。

IE 事件模型不支持上面的属性,为此还需寻求兼容 IE 的方法。而看 clientX 和 clientY 属性是以 window 对象为坐标系,且 IE 事件模型支持它们,可以选用它们。不过考虑 window 等对象可能出现的滚动条偏移量,所以还应加上相对于 window 对象的页面滚动的偏移量。

鼠标事件

 

上一篇:轮播图实现


下一篇:AJAX---请求重复发送问题