您的位置:首页 > Web前端 > JavaScript

js--5.事件-6.鼠标事件

2018-02-05 15:50 211 查看

1      鼠标键盘事件

1.1  概述



 

1.2  鼠标事件

1.2.1  鼠标的单击事件

单击事件(onclick)是在鼠标单击时被触发的事件。单击是指鼠标停留在对象上,按下鼠标键,在没有移动鼠标的同时放开鼠标键的这一完整过程。

    单击事件一般应用于Button对象、Checkbox对象、Image对象、Link对象、Radio对象、Reset对象和Submit对象,Button对象一般只会用到onclick事件处理程序,因为该对象不能从用户那里得到任何信息,如果没有onclick事件处理程序,按钮对象将不会有任何作用。

注意:

    在使用对象的单击事件时,如果在对象上按下鼠标键,然后移动鼠标到对象外再松开鼠标,单击事件无效,单击事件必须在对象上按下松开后,才会执行单击事件的处理程序。

 

 

1.2.2  鼠标的按下或松开事件

鼠标的按下或松开事件分别是onmousedown和onmouseup事件。其中,onmousedown事件用于在鼠标按下时触发事件处理程序,onmouseup事件是在鼠标松开时触发事件处理程序。在用鼠标单击对象时,可以用这两个事件实现其动态效果。

 

1.2.3  鼠标的移入移出事件

鼠标的移入和移出事件分别是onmouseover和onmousemove事件。其中,onmouseover事件在鼠标移动到对象上方时触发事件处理程序,onmousemove事件在鼠标移出对象上方时触发事件处理程序。可以用这两个事件在指定的对象上移动鼠标时,实现其对象的动态效果。

 

1.2.4  鼠标的移动事件

    鼠标移动事件(onmousemove)是鼠标在页面上进行移动时触发事件处理程序,可以在该事件中用document对象实时读取鼠标在页面中的位置。

 

2      demo

2.1  鼠标事件--拖拽

 <style type="text/css">
#box1{
width: 100px;
height: 100px;
background-color: red;
position: absolute;
}
#box2{
width: 100px;
height: 100px;
background-color: yellow;
position: absolute;

left: 200px;
top: 200px;
}
</style>

<script type="text/javascript">
window.onload = function(){
/*
* 拖拽box1元素
* - 拖拽的流程
* 1.当鼠标在被拖拽元素上按下时,开始拖拽 onmousedown
* 2.当鼠标移动时被拖拽元素跟随鼠标移动 onmousemove
* 3.当鼠标松开时,被拖拽元素固定在当前位置 onmouseup
*/

//获取box1
var box1 = document.getElementById("box1");
//为box1绑定一个鼠标按下事件
//当鼠标在被拖拽元素上按下时,开始拖拽 onmousedown
box1.onmousedown = function(event){
event = event || window.event;
//div的偏移量 鼠标.clentX - 元素.offsetLeft
//div的偏移量 鼠标.clentY - 元素.offsetTop
var ol = event.clientX - box1.offsetLeft;
var ot = event.clientY - box1.offsetTop;

//为document绑定一个onmousemove事件
document.onmousemove = function(event){
event = event || window.event;
//当鼠标移动时被拖拽元素跟随鼠标移动 onmousemove
//获取鼠标的坐标
var left = event.clientX - ol;
var top = event.clientY - ot;

//修改box1的位置
box1.style.left = left+"px";
box1.style.top = top+"px";

};

//为document绑定一个鼠标松开事件
document.onmouseup = function(){
//当鼠标松开时,被拖拽元素固定在当前位置 onmouseup
//取消document的onmousemove事件
document.onmousemove = null;
//取消document的onmouseup事件
document.onmouseup = null;
};
};
};
</script>
</head>
<body>
<div id="box1"></div>

<div id="box2"></div>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: