美文网首页
javascript-事件对象

javascript-事件对象

作者: ssttIsme | 来源:发表于2020-01-12 19:50 被阅读0次

javascript-事件对象

一、事件对象

用来记录一些事件发生时的相关信息的对象

1.只有当事件发生的时候才能产生,只能在处理函数内部访问
2.处理函数结束后自动销毁

二、获取事件

window.event(IE)
event(火狐)
虽然是全局的属性,但是只能在函数内部访问。(因为它不记录任何信息,只有当事件发生的时候,它才会记录信息)

对象.on事件=function(e){
}

兼容写法

window.onload=function(e){
    var ev=e||window.event;
    document.write(ev);
}

三、事件对象的属性

3.1关于鼠标事件的事件对象

相对于浏览器位置的

clientX当鼠标事件发生的时候,鼠标相对于浏览器x轴的位置
clientY当鼠标事件发生的时候,鼠标相对于浏览器y轴的位置

<div id="box" style="width: 200px;height: 200px;border: 1px solid blue;"></div>
<script>
    //获取鼠标相对于浏览器的位置
    var box=document.getElementById("box");
    document.onmouseover=function (e) {
        var ev=e||window.event;
        var cx=ev.clientX;
        var cy=ev.clientY;
        box.innerHTML="clientX:"+cx+" clientY:"+cy;
    }
</script>
相对于屏幕位置的

screenX当鼠标事件发生的时候,鼠标相对于屏幕x轴的位置
screenY当鼠标事件发生的时候,鼠标相对于屏幕y轴的位置

<div id="box" style="width: 200px;height: 200px;border: 1px solid blue;"></div>
<script>
    //获取鼠标相对于屏幕的位置
    var box=document.getElementById("box");
    document.onmouseover=function (e) {
        var ev=e||window.event;
        var sx=ev.screenX;
        var sy=ev.screenY;
        box.innerHTML="screenX:"+sx+" screenY:"+sy;
    }
</script>
相对于事件源的位置的

(IE)
offsetX当鼠标事件发生的时候,鼠标相对于事件源x轴的位置
offsetY当鼠标事件发生的时候,鼠标相对于事件源y轴的位置
(火狐)
layerX当鼠标事件发生的时候,鼠标相对于事件源x轴的位置
layerY当鼠标事件发生的时候,鼠标相对于事件源y轴的位置

<div id="box" style="width: 200px;height: 200px;border: 1px solid blue;"></div>
<script>
    //获取鼠标相对于事件源的位置
    var box=document.getElementById("box");
    document.onclick=function (e) {
        var ev=e||window.event;
        var x=ev.offsetX||ev.layerX;
        var y=ev.offsetY||ev.layerY;
        box.innerHTML="x:"+x+" y:"+y;
    }
</script>

3.2关于键盘事件的事件对象

keyCode获得键盘码

常用键盘码
空格 32
回车 13
ctrl 17
alt 18
左 37 上 38 右 39 下 40

altKey判断alt键是否被按下 按下是true,反之是false
ctrlKey判断ctrl键是否被按下 按下是true,反之是false
shiftKey判断ctrl键是否被按下 按下是true,反之是false
type用来检测事件的类型 主要是用于多个事件通用同一个事件处理程序的时候

<div id="box" style="width: 200px;height: 200px;border: 1px solid blue;"></div>
<script>
    //获取键盘码
    var box=document.getElementById("box");
    document.onkeydown=function (e) {
        var ev=e||window.event;
        box.innerHTML="键盘码: "+ev.keyCode;
    }
</script>
    if(ev.altKey){
        alert("alt键被按下");
    }
<div id="box" style="width: 200px;height: 200px;border: 1px solid blue;"></div>
<script>
    //获取键盘码
    var box=document.getElementById("box");
    document.onkeydown=function (e) {
        var ev=e||window.event;
        box.innerHTML="事件为: "+ev.type;

    }
</script>

相关文章

  • javascript-事件对象

    javascript-事件对象 一、事件对象 用来记录一些事件发生时的相关信息的对象 1.只有当事件发生的时候才能...

  • JavaScript-字符串对象方法应用

    JavaScript-字符串对象方法应用

  • javascript-事件基础和事件绑定

    javascript-事件基础和事件绑定 一、事件驱动 1.1事件 javascript侦测到的用户的操作(点击、...

  • Create Object Pattern

    JavaScript- create object pattern1.jpg 创建对象的3中方式 factory ...

  • JavaScript-对象

    对象 1.介绍 。JavaScript的对象是由一组键值对组成的无序集合 。JavaScript对象的键是字符串类...

  • JavaScript-对象

    创建一个对象 let user = new Object(); // “构造函数” 的语法let user = {...

  • JavaScript-对象

    1.概述 JavaScript的对象是一种特殊又重要的数据类型。从结构上来说,对象就是一些以键值对无序组合起来的数...

  • JavaScript-对象

    Number 字符串 数组 Date日期 Math

  • javascript-日期对象

    javascript-日期对象 GMT(Greenwich Mean Time)格林尼治时间UTC(Univers...

  • Javascript-事件

    一、事件流 定义:事件流描述的是从页面中接收事件的顺序。但有意思的是,IE 和Netscape 开发团队居然提出了...

网友评论

      本文标题:javascript-事件对象

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