位置:首页 > 软件操作教程 > 编程开发 > JavaScript > 问题详情

JavaScript Event 对象

提问人:刘团圆发布时间:2020-11-27

■知识点

    event对象由系统自动创建,其属性提供了有关事件的细节信息,其方法可以控制事件的传播。在DOM事件模型中,event对象被传递给事件监听函数,但是在IE事件模型中,它被存储在window对象的event属性中。

    下面列出了二级DOM事件标准定义的event对象属性,如表所示。注意,这些属性都是只读属性。

cancelable

返回布尔值,指示事件是否可以取消的默认动作。如果使用preventDefaultO方法可以取消与 事件关联的默认动作,则返回值为true,否则为fasle

currentTarget

返回触发事件的当前节点,即当前处理该事件的元素、文档或窗口。在捕获和冒泡阶段,该 属性是非常有用的,因为在这两个阶段,它不同于target属性

eventPhase

返回事件传播的当前阶段,包括捕获阶段(1)、目标事件阶段(2)和冒泡阶段(3)

target

返回事件的目标节点(触发该事件的节点),如生成事件的元素、文档或窗口

timeStamp

返回事件生成的日期和时间

type

返回当前event对象表示的事件的名称。如"submit” "load" "click"

下面列出了二级DOM事件标准定义的event对象方法,如表所示,IE事件模型不支持这些方法。

initEventO

初始化新创建的event对象的属性

preventDefault()

通知浏览器不要执行与事件关联的默认动作

stopPropagationQ

终止事件在传播过程的捕获、目标处理或冒泡阶段进一步传播。调用该方法后,该节点上处 理该事件的处理函数将被调用,但事件不再被分派到其他节点

IE7及其早期版本,以及IE怪异模式不支持标准的DOM事件模型,并且IE的event对象定义了一 组完全不同的属性,如表所示。

描 述

cancelBubble

如果想在事件监听函数中阻止事件传播到上级包含对象,必须把该属性设为true

fromElement

对于mouseovermouseout事件,fromElement引用移出光标的元素

keyCode

对于keypress事件,该属性声明了被敲击的键生成的Unicode字符码。对于keydownkeyup 事件,它指定了被敲击的键的虚拟键盘码。虚拟键盘码可能和使用的键盘的布局相关

offsetXoffsetY

发生事件的地点在事件源元素的坐标系统中的x坐标和y坐标

retumValue

如果设置了该属性,它的值比事件监听函数的返回值优先级髙。把这个属性设置为fasle,可 以取消发生事件的源元素的默认动作

srcElement

对于生成事件的window对象、document对象或element对象的引用

toElement

对于mouseovermouseout事件,该属性引用移入光标的元素

y

事件发生的位置的x坐标和y坐标,它们相对于用CSS定位的最内层包含元素

    为了兼容IE和DOM两种事件模型,可以使用下面的表达式进行兼容。

    var event = event || window.event; //兼容不同模型的 event 对象

    上面代码右侧是一个选择运算表达式,如果事件监听函数存在event实参,则使用event形参来传递事件信息,如果不存在event参数,则调用window对象的event属性来获取事件信息。把上面的表达式放在事件监听函数中即可进行兼容。


继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部