02.事件对象.html 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <style>
  9. #areaDiv {
  10. border: 1px solid black;
  11. width: 300px;
  12. height: 50px;
  13. margin-bottom: 10px;
  14. }
  15. #showMsg {
  16. border: 1px solid black;
  17. width: 300px;
  18. height: 20px;
  19. }
  20. </style>
  21. <script>
  22. window.onload = function () {
  23. /**
  24. * 当鼠标在areaDiv中移动时,在showMsg中来显示鼠标的坐标
  25. */
  26. //获取两个div
  27. var areaDiv = document.getElementById("areaDiv");
  28. var showMsg = document.getElementById("showMsg");
  29. /**
  30. * onmousemove
  31. * -该事件将会在鼠标在元素中移动时被触发
  32. *
  33. * 事件对象
  34. * -当事件的响应函数被触发时,浏览器每次都会将一个事件对象作为实参传递进响应函数
  35. * 在事件对象中,封装了当前事件相关的一切信息,
  36. * 比如:鼠标的坐标、键盘哪个按键被按下、鼠标滚轮滚动的方向、……
  37. */
  38. areaDiv.onmousemove = function (event) {
  39. // alert("鼠标移动了");
  40. // alert(event);
  41. /**
  42. * 在IE8中,响应函数被触发时,浏览器不会传递事件对象
  43. * 在IE8及以下的浏览器中,是将事件对象作为window对象的属性保存的
  44. */
  45. // if(!event){
  46. // event = window.event;
  47. // }
  48. //解决事件对象的兼容性问题
  49. //可以写成下面的方式,显得更简洁
  50. event = event || window.event;
  51. /**
  52. * clientx 可以获取鼠标指针的水平坐标
  53. * clienty 可以获取鼠标指针的垂直坐标
  54. */
  55. var x = event.clientX;
  56. var y = event.clientY;
  57. // alert("x="+x+",y="+y);
  58. //在showMsg中显示鼠标的坐标
  59. showMsg.innerHTML = "x=" + x + ",y=" + y;
  60. };
  61. };
  62. </script>
  63. </head>
  64. <body>
  65. <div id="areaDiv"></div>
  66. <div id="showMsg"></div>
  67. </body>
  68. </html>