美文网首页
3.事件对象

3.事件对象

作者: 素弥 | 来源:发表于2016-10-09 17:22 被阅读16次

    定义

    记录了事件发生时关于事件的一些详细信息,这些信息都被保存在一个对象当中

    使用和兼容性问题

    • IE
      event对象是window身上的对象,可以直接使用
    element.onclick=function(){
        console.log(event);    //这里的event就是事件对象
    };
    
    • FireFox
      FireFox中事件对象是事件处理函数内的第一个参数
    element.onclick=function(ev){
        console.log(ev);    //这里的ev就是事件对象
    };
    
    • chrome
      上面两种方法均支持

    事件对象中的常用属性

    鼠标坐标 clientX clientY

    事件发生时鼠标的位置信息
    坐标是根据可视区左上角进行计算的
    event.clientX
    event.clientY

    <!--div跟随鼠标移动实例-->
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                div{
                    width: 100px;
                    height: 100px;
                    background: red;
                    position: absolute;
                    left: 0;
                    top: 0;
                }
            </style>
        </head>
        <body>
            <div></div>
        </body>
        <script>
            var div = document.querySelector('div');
            document.onmousemove=function(ev){
                div.style.left=ev.clientX+'px';
                div.style.top=ev.clientY+'px';          
            };
        </script>
    </html>
    

    按键信息 keyCode

    按下哪个键,返回这个键对应的Unicode编码

    document.onkeydown=function(ev){
        console.log(ev.keyCode);    //如果按下enter,返回数字13
    };
    

    功能键判断 ctrlKey shiftKey altKey

    判断对应的功能键是否被按下,返回值为布尔值

    document.onkeydown=function(ev){
        console.log(ev.ctrlKey);    //如果这里按下了ctrl键,那么会在控制台输出true,按下其他键,输出false
    };
    

    注意:

    其实鼠标事件的事件对象里,也是存在按键信息的

    document.onclick=function(ev){
        console.log(ev.keyCode);
    };
    

    上面的代码是一个点击事件,当我点击的时候,按键,还是会在控制台输出按键对应的Unicode编码

    相关文章

      网友评论

          本文标题:3.事件对象

          本文链接:https://www.haomeiwen.com/subject/mlxmyttx.html