Event 对象
Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。
事件通常与函数结合使用,函数不会在事件发生前被执行!
本文用于记录个人学习过程中的两个小练习,其中包括一些事件对象的用法和问题的解决以及兼容性问题。
- 获取鼠标指针坐标
- div 跟随鼠标移动
练习
1 获取鼠标指针坐标
两个 div,当鼠标在上面的 div#areaDiv 移动时,在下面的 div#showMsg 中显示鼠标指针坐标
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> #areaDiv{ width: 500px; height: 200px; border: 1px solid black; } #showMsg{ width: 500px; height: 50px; margin-top: 20px; border: 1px solid black; } </style>
<script type="text/javascript">
window.onload = function(){
var areaDiv = document.getElementById("areaDiv"); var showMsg = document.getElementById("showMsg");
areaDiv.onmousemove = function(event){
event = event || window.event;
var x = event.clientX; var y = event.clientY; showMsg.innerHTML = 'x='+x+' , y='+y; }; };
</script> </head> <body> <div id="areaDiv"></div> <div id="showMsg"></div> </body> </html>
|
2 div 跟随鼠标移动
当鼠标在页面中移动时,使 div 跟随其移动
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>div跟随鼠标移动</title> <style type="text/css"> body{ width:2000px; height: 1000px;} #box1{ width: 100px; height: 100px; background-color: red; position: absolute; } </style> <script type="text/javascript"> window.onload = function(){
var box1 = document.getElementById("box1");
document.onmousemove = function(event){ event = event || window.event;
var st = document.documentElement.scrollTop; var sl = document.documentElement.scrollLeft;
var left = event.clientX; var top = event.clientY;
box1.style.left = left +sl+'px'; box1.style.top = top +st+'px';
}; };
</script> </head> <body> <div id="box1"></div> </body> </html>
|
部分内容来源于网上教程,侵删。