事件对象(Event对象)

当事件的响应函数被触发时,浏览器每次都会将一个事件对象作为实参传递进响应函数中,在事件对象中封装了当前事件相关的一切信息,比如:鼠标的坐标、键盘哪个键被按下、鼠标滚轮滚动的方向等等。只有当事件发生时,Event对象才有效,只能在事件处理程序中访问Event对象。

Event对象的主要属性
属性说明
type返回事件名称。如单击事件名click
srcElement返回产生事件的元素对象。如当单击按钮产生click事件时,该事件的setElement属性就是对于这个按钮对象的引用
cancelBubble表示是否取消当前事件向上冒泡、传递给上一层的元素对象。默认值为false,允许冒泡;否则为false,禁止该事件冒泡
return Value指定事件的返回值,默认为true。若设置为false,则取消该事件的默认处理动作
keyCode指示键盘事件的按键的Unicode键码值
altKey指示Alt键的状态,当Alt键按下时为true
ctrlKey指示Ctrl键的状态,当Ctrl键按下时为true
shiftKey指示Shift键的状态,当Shift键按下时为true
repeat指示Keydown事件是否在重复,并且只适用于Keydown事件
button指示哪一个鼠标按键被按下(IE8以前的版本,1:左键被按下。2:右键被按下。4:中键被按下。IE8以后的版本,0:左键被按下。2:右键被按下。1:中键被按下)
x,y指示鼠标相对于页面的X,Y坐标,即水平和垂直位置,单位为像素
clientX,clientY指示鼠标指针相对于窗口浏览区的X,Y坐标
screenX,screenY指示鼠标指针相对于电脑屏幕的X,Y坐标
offsetX,offsetY指示鼠标指针相对于触发事件的元素的X,Y坐标
fromElement用于mouseover和mouseout事件,指示鼠标指针从哪个元素移来
toElement用于mouseover和mouseout事件,指示鼠标指针移向那个元素

鼠标坐标练习 

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        * {
            margin: 0%;
            padding: 0%;
        }
        #areaDiv{
            border: 1px solid black;
            width: 300px;
            height: 50px;
            margin-bottom: 10px;
        }
        #showMsg{
            border: 1px solid black;
            width: 300px;
            height: 20px;
        }
    </style>
    <script>
        window.onload = function(){
            /*-----------当鼠标在areaDiv中移动时,showMsg显示鼠标坐标---------------*/
            //获取areaDiv和showMsg
            var areaDiv = document.getElementById("areaDiv");
            var showMsg = document.getElementById("showMsg");
            //为areaDiv绑定onmousemove响应函数
            //onmousemove事件会在鼠标在元素中移动时触发
            areaDiv.onmousemove = function(event){
                //传入事件对象
                //获取鼠标的x,y坐标
                /*在IE8中,响应函数被触发时,浏览器不会传递事件函数*/
                //在IE8以下的浏览器中是将事件对象作为window对象的属性保存的 
                //因此需要进行判断以兼容所有浏览器
                if(!event){event = window.event}  
                var x = event.clientX;
                var y = event.clientY;
                //在showMsg中显示鼠标的坐标
                showMsg.innerHTML = ("x="+x+";"+"y="+y);  
            };

        };
    </script>
</head>

<body>
    <div id="areaDiv"></div>
    <div id="showMsg"></div>
</body>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值