事件对象

什么是事件?行为就是事件,事件的绑定方式有内联和外联,内联就是html的属性,在执行js中定义的函数,但是不推荐使用。外联就是在js代码中,使用选择器,选择元素后,通过on+事件名的方式,给定一个无名函数的方式。

事件对象
事件就是在事件发生时,事件处理函数内部,产生的一个对象。

event
在触发的事件的函数里面我们会接收到一个event对象,通过该对象获取我们需要的一些参数,下面是event对象的兼容写法:

 <body>
    <div id="box"></div>
</body>
<script>
    var obox = document.getElementById("box");

    obox.onclick = function(eve){
         console.log(eve);
         console.log(window.event);

        var e = eve || window.event;

        console.log(e);
    }

Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。以下是event对象常用的一些属性和方法:

鼠标属性:

<body>
    <div id="box"></div>
</body>
<script>
    var obox = document.getElementById("box");
	obox.onclick = function(eve){
        var e = eve || window.event;
        
        // 事件发生时,鼠标相对于当前元素的坐标,有兼容,谷歌有,火狐没有
        console.log(e.offsetX, e.offsetY);

        // 事件发生时,鼠标相对于页面的可视区域的坐标
        console.log(e.clientX, e.clientY);

        // 事件发生时,鼠标相对于页面的坐标
        console.log(e.pageX, e.pageY);
        
        // 事件发生时,鼠标相对于显示器的坐标
        console.log(e.screenX, e.screenY);
    }
</script>

键盘属性:

<body>
    <div id="box"></div>
</body>
<script>
    // 键盘事件不能随便加,因为不是每个元素都有焦点

    var obox = document.getElementById("box");

    // 此时,键盘事件要加给整个页面
    document.onkeydown = function(eve){
        var e = eve || window.event;
        // console.log(e.keyCode);

        // 获取键盘的ASC码的兼容写法:
        var code = e.which || e.keyCode;
        
 		 console.log(e.ctrlKey);      //CTRL
         console.log(e.shiftKey);     //SHIFT
         console.log(e.altKey);       //ALT

       if(e.ctrlKey && code == 13){           //CTRL+ENTER
            console.log("ctrl+回车");
        } 
    }
</script>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值