JavaScript事件对象

作者: 简约酒馆 | 来源:发表于2019-11-03 23:41 被阅读0次

什么是event对象

Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。事件通常与函数结合使用,函数不会在事件发生前被执行!

event对象-事件添加方法

1、事件有DOM0, DOM2的区分。

DOM0就是直接通过 onClick写在html里面的事件,例: <input onClick="alert(1)" />、JS写onClick=function(){}函数

    DOM2是通过addEventListener 绑定/监听 事件 例:document.getElementById("myTest").addEventListener("click",function(){alert(1)}, false);

event对象-事件添加方法

监听方法

1、有两个方法用来添加和移除事件处理程序:

     addEventListener()和removeEventListener()。

它们都有三个参数:第一个参数是事件名(如click);第二个参数是事件处理程序函数;  第三个参数如果是true则表示在捕获阶段调用,为false表示在冒泡阶段调用。

 addEventListener():可以为元素添加多个事件处理程序,触发时会按照添加顺序依次调用。例:document.getElementById("Test").addEventListener("click",function(){alert(1)}, false);

【注】removeEventListener():不能移除匿名添加的函数。

冒泡与捕获

DOM2级包含3个事件:事件捕获阶段、处于目标阶段和事件冒泡阶段

例 :<span><a></a></span>

点击a后capturing(捕捉)阶段事件传播会从document-> span->a,然后发生在a,最后bubbling(冒泡)阶段事件传播会从a->span->document 。

例:<div><p>元素</p></div>。这两个元素都绑定了click事件,如果用户点击了p,它在div和p上都触发了click事件,那这两个事件处理程序哪个先执行呢?事件顺序是什么?

div先触发,这就叫做事件捕获。

事件捕获:当你使用事件捕获时,父级元素先触发,子级元素后触发,即div先触发,p后触发。

p先触发,这就叫做事件冒泡

事件冒泡:当你使用事件冒泡时,子级元素先触发,父级元素后触发,即p先触发,div后触发。

【注】选择绑定事件时采用事件捕获还是事件冒泡,方法就是绑定事件时通过addEventListener函数,它有三个参数,第三个参数若是true,则表示采用事件捕获,若是false,则表示采用事件冒泡。

Event相关方法与属性

1、event.stopPropagation():终止事件在传播过程的捕获、目标处理或起泡阶段进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点

2、event.preventDefault() :取消事件的默认动作(a标签的href)。

3、event.clientX、event.clientY:鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条。IE事件和标准事件都定义了这2个属性

4、event.offsetX、event.offsetY:鼠标相对于事件源元素(触发事件的元素)的X,Y坐标,只有IE事件有这2个属性,标准事件没有对应的属性。

 与event.offsetLeft、event.offsettop一样

5、event.screenX、event.screenY:鼠标相对于用户显示器屏幕左上角的X,Y坐标。标准事件和IE事件都定义了这2个属性

6、event.keyCode:获得按键的code值

相关文章

  • JavaScript(二)

    JavaScript对象 事件对象 type获取事件类型,显示事件为点击事件click target 获取事件目标...

  • 1.4JavaScript 弹出框与内置对象

    消息框 JavaScript内置对象JavaScript对象 :1. js内置对象、js事件对象、3.BOM浏览器...

  • 【javascript】事件对象

    事件对象 在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含着所有与事件有关的信息。 包括导...

  • JavaScript:事件对象

    在触发 DOM 上的某个事件时,会产生一个事件对象 event,这个对象中包含着所有与事件有关的信息。包括导致事件...

  • JavaScript事件对象

    什么是event对象 Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按...

  • js的事件流

    一、JavaScript的事件对象 1.event:事件对象; 当一个事件发生时,和当前这个对象发生的事件有关的信...

  • jQery----click事件

    onclick:javascript事件 onclick 事件会在对象被点击时发生。 Click 事件: 此事...

  • HTML DOM 事件对象

    HTMLDOM事件对象 HTML DOM 事件 HTML DOM 事件允许Javascript在HTML文档元素中...

  • javascript-事件对象

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

  • JavaScript事件03——事件对象

    大纲:事件对象(DOM中的事件对象,IE中的事件对象,跨浏览器) 一、事件对象 什么是事件对象? 在触发DOM上的...

网友评论

    本文标题:JavaScript事件对象

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