码迷,mamicode.com
首页 > 其他好文 > 详细

事件对象(鼠标、键盘)

时间:2019-10-06 11:22:39      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:cti   操作   document   str   clientx   返回   code   登陆   span   

事件对象

在事件触发后或在事件处理程序中,(函数体)所获取并操作的对象。


 

1. 获取事件对象

语法:事件源.事件类型 = function(e){}

形参 e(可以是任意字母)就是事件对象。执行函数(即事件触发后)的时候,浏览器会把事件对象交给形参e。

1 <script>
2         document.onclick = function() {
3             //浏览器会默认给事件对象一些属性
4             console.log(e);
5             //从对象中拿东西。X坐标和Y坐标
6             console.log(e.clientX,e.clientY);
7         }
8 </script>

 

2. 鼠标事件对象相关属性

1)鼠标事件类型:

  • onclick
  • onmouseenter
  • onmouseleave
  • onmousemove 鼠标移动事件
  • onmousedown 鼠标按键按下事件
  • onmouseup  鼠标按钮弹起事件

2)鼠标事件对象相关属性:(获取鼠标位置)

 1 <body>
 2     <div></div>
 3     <script>
 4         var div = document.querySelector(div);
 5         div.onclick = function(e) {
 6             console.log(相对于浏览器当前可视页面的位置:, e.clientX, e.clientY);
 7             console.log(相对于浏览器整个页面的位置:, e.pageX, e.pageY);
 8             console.log(相对于当前元素的位置:, e.offsetX, e.offsetY);
 9         };
10     </script>
11 </body>

 

3. 拖拽案例

 1 <body>
 2     <div></div>
 3     <script>
 4         var login = document.querySelector(.login);
 5         var tip = document.querySelector(.tip);
 6         tip.onmousedown = function(e) {
 7             var x = e.offsetX;
 8             var y = e.offsetY;
 9             document.onmousemove = function (e) {
10                 login.style.left = e.clientX - x + px;
11                 login.style.top = e.clientY - y + px;
12             }
13         };
14         tip.onmouseup = function() {
15             document.onmousemove = null; //解绑
16         }
17     </script>
18 </body>

 

4. 键盘事件相关属性

1)键盘事件类型

  • onkeydown    键盘按下事件
  • onkeyup      键盘弹起事件

一般给 document 绑定键盘事件。

2)键盘事件对象:(区分键盘按下了哪个键)

  • 事件对象.keyCode    获取键盘按键对应的键码值
  • 事件对象.altKey      表示alt键是否按下,返回布尔值。
  • 事件对象.shiftKey    表示shift键是否按下,返回布尔值。
  • 事件对象.ctrlKey    表示ctrl键是否按下,返回布尔值。(true按下,false没有按下)
1 <script>
2         document.onkeydown = function(e) {
3             // console.log(e.keyCode); //获得键码值
4             var num = e.keyCode;
5             if(e.ctrlKey && e.keyCode==67) { //ctrlKey默认为ture
6                 alert(请登陆!);
7             }
8         };
9 </script>

 

事件对象(鼠标、键盘)

标签:cti   操作   document   str   clientx   返回   code   登陆   span   

原文地址:https://www.cnblogs.com/cnlisiyiii-stu/p/11626543.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!