event对象

作者: 简_笑 | 来源:发表于2017-11-05 22:54 被阅读13次
  1. event是一个浏览器内部的对象(非网页标签对象),他代表事件发生的时候跟事件有关的相关信息的集合体(对象就是信息的集合体)——只在事件发生的时候存在!
  2. event通常就只用于获取在事件发生的时候的有关信息,比如:鼠标该时刻的坐标位置(x和y),是哪个网页对象发生了该事件,发生事件的时候是哪个鼠标按键触发的,或哪个键盘上的键。以上信息由以下几个event属性来获取:

event.clientX:获取事件发生的时候鼠标的x坐标位置
event.clientY:获取事件发生的时候鼠标的y坐标位置
event.target:获取事件发生的时候的那个标签对象(适用于FF)——类似getElemenById获取的对象
event.srcElement——获取事件发生的时候的那个标签对象(适用于IE)——类似于getElementById获取的对象
事件发生的时候的那个标签对象通常被称为“事件源”
event.keyCode:键盘事件发生的时候的按键的键值——键盘上每个键都对应一个数字值


  1. var v1 = document.createElement("标签名") //创建指定标签的对象
  2. var v1 = document.body; //代表body那个标签对象,相当于直接获取了网页中的body那个标签对象

this和event的使用对比


<标签名1 on事件名 = “函数名f1(this)” >……</标签名1>
<标签名2 on事件名 = “函数名f2(event)” >……</标签名2>

<script>
  function f1(obj){
    //在此范围内,obj代表的就是“标签名1”这个对象,类似使用getElementById获得的对象
}
  function f2(evt){
    //在此范围内,evt代表的是事件发生的时候的event对象
    //这里使用evt,基本上也就是使用其以下属性:
    var v1 = evt.clientX;//获得鼠标当时的x坐标
    var v2 = evt.clientY;//获得鼠标当时的y坐标
    var v3 = evt.keyCode;//获得键盘的按键值(只对键盘事件有效)
    var v4 = evt.target;//获得事件源对象,IE是:evt.srcElement;
}
</script>

练习:


满天星

<!DOCTYPE html>
<html lang="en"  onclick="newStar(event)">
<!--onclick = ""只能放在html或body里面,因为是在网页的任何位置点击的,又因为经alert测试,body失败,只能放在HTML里面-->
<head>
    <meta charset="UTF-8">
    <title>满天星</title>
    <!--点出满天小星星,网页一打开就是黑色;在网页的任何位置点击则在该位置就会出现一个小星星; 星星的大小在15-80范围之内-->
    <style type="text/css"></style>
    <script type="text/javascript">
        function init() {
            var obj = document.body;   /*下面代表网页整个对象(body对象)*/
            obj.bgColor = "black";
        }
        function newStar(evt) {
            /*创建一个标签名为img的对象——其实也就是标签,这个对象跟我们使用getElementById()获取的标签本质上一样*/
            var star = document.createElement("img");
            /*此时只是给star这个对象的属性src赋值了,但其并没有在“网页中”,而只是在内存中*/
            star.src = "./pictures/star.PNG ";
            var b = document.body;/*代表body那个标签对象*/
            b.appendChild(star);
            /*设定位置*/
            var x = evt.clientX;
            var y = evt.clientY;/*获得鼠标点击处的位置*/
            star.style.position = "absolute";
            star.style.left = x + "px";
            star.style.top = y + "px";
            /*设定宽度(高度自动)*/
            var w = Math.floor(Math.random() * (80 - 15 + 1)) + 15;
            star.width = w;
        }

    </script>
</head>
<body onload="init()">
</body>
</html>

image.png

相关文章

  • event 事件对象

    event 对象及使用 event 对象是什么? event 对象表示事件的状态,当 dom 树中某个事件被触发时...

  • JS事件 Event

    获得event对象兼容性写法 :event || (event = window.event); 获得target...

  • 创建和分派事件

    event = new Event(typeArg[, eventInit]) 创建一个新的 Event 对象 ...

  • python停止线程?暂停?

    Python 通过threading.Event()产生一个event对象。event对象维护一个内部标志(标志初...

  • event对象

    Js的event对象用来描述Js的事件,它主要作用于IE和NN4(Netscape Navigator4)以后的各...

  • event 对象

    在触发DOM上的某个时间时,会产生一个事件对象event,这个对象中包含着所有与事件相关的信息,所有的浏览器都支持...

  • Event对象

    Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。事件通常与函...

  • event对象

  • event对象

    event是一个浏览器内部的对象(非网页标签对象),他代表事件发生的时候跟事件有关的相关信息的集合体(对象就是信息...

  • event对象

网友评论

    本文标题:event对象

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