event对象常用属性和方法

event 对象用来表示当前事件,事件有很多状态,例如,鼠标单击时的位置,按下键盘时的按键,发生事件的HTML元素,是否执行默认动作,是否冒泡等,这些都是作为event对象的属性和方法存在的。要想获得相应的状态,就要访问对应的属性和方法。

event 对象常用属性和方法(W3C规范)
属性 描述 IE 非IE W3C
altKey 返回当事件被触发时,"ALT" 是否被按下。 Yes Yes Yes
button 返回当事件被触发时,哪个鼠标按钮被点击。 Yes Yes Yes
clientX 返回当事件被触发时,鼠标指针的水平坐标。 Yes Yes Yes
clientY 返回当事件被触发时,鼠标指针的垂直坐标。 Yes Yes Yes
ctrlKey 返回当事件被触发时,"CTRL" 键是否被按下。 Yes Yes Yes
metaKey 返回当事件被触发时,"meta" 键是否被按下。 No Yes Yes
relatedTarget 返回与事件的目标节点相关的节点。 No Yes Yes
screenX 返回当某个事件被触发时,鼠标指针的水平坐标。 Yes Yes Yes
screenY 返回当某个事件被触发时,鼠标指针的垂直坐标。 Yes Yes Yes
shiftKey 返回当事件被触发时,"SHIFT" 键是否被按下。 Yes Yes Yes
bubbles 返回布尔值,指示事件是否是起泡事件类型。 No Yes Yes
cancelable 返回布尔值,指示事件是否可拥可取消的默认动作。 No Yes Yes
currentTarget 返回其事件监听器触发该事件的元素。 No Yes Yes
eventPhase 返回事件传播的当前阶段。     Yes
target 返回触发此事件的元素(事件的目标节点)。 No Yes Yes
timeStamp 返回事件生成的日期和时间。 No Yes Yes
type 返回当前 Event 对象表示的事件的名称。 Yes Yes Yes
方法 描述 IE 非IE W3C
initEvent() 初始化新创建的 Event 对象的属性。 No Yes Yes
preventDefault() 通知浏览器不要执行与事件关联的默认动作。 No Yes Yes
stopPropagation() 不再派发事件。 No Yes Yes

除了上面W3C规范所规定的属性和方法外,IE浏览器还支持以下属性。

event 对象的属性(IE特有)
属性 描述
cancelBubble                                                            如果事件句柄想阻止事件传播到包容对象,必须把该属性设为 true。
fromElement 对于 mouseover 和 mouseout 事件,fromElement 引用移出鼠标的元素。
keyCode 对于 keypress 事件,该属性声明了被敲击的键生成的 Unicode 字符码。对于 keydown 和 keyup 事件,它指定了被敲击的键的虚拟键盘码。虚拟键盘码可能和使用的键盘的布局相关。
offsetX,offsetY 发生事件的地点在事件源元素的坐标系统中的 x 坐标和 y 坐标。
returnValue 如果设置了该属性,它的值比事件句柄的返回值优先级高。把这个属性设置为 fasle,可以取消发生事件的源元素的默认动作。
srcElement 对于生成事件的 Window 对象、Document 对象或 Element 对象的引用。
toElement 对于 mouseover 和 mouseout 事件,该属性引用移入鼠标的元素。
x,y 事件发生的位置的 x 坐标和 y 坐标,它们相对于用CSS动态定位的最内层包容元素。

js的事件属性方法一览表的更多相关文章

  1. js添加事件通用方法

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. js - 构造函数-静态属性/方法-原型对象 - 前端第八课

    先来个普通对象 var duixiang={ a:"111", b:function (s) { return s+"886"; } }; console.lo ...

  3. js获取css属性方法

    function getDefaultStyle(obj,attribute){ return obj.currentStyle?obj.currentStyle[attribute] : docum ...

  4. onload事件属性,JQ中的load,ready方法

    onload事件属性,JQ中的load,ready方法 前言 页面中的很多操作,需要我们在所需资源下载完成后,才可以进行操作,而资源没有及时下载,我们进行操作的话,是会报错.因此我们需要熟练掌握哪些事 ...

  5. js绑定事件方法:addEventListener的兼容问题

    js的事件绑定方法中,ie只支持attachEvent,而FF和Chrome只支持addEventListener;严格来说:addEventListener只有IE9以上版本的IE浏览器上能够兼容, ...

  6. js绑定事件方法:addEventListener与attachEvent的不同浏览器的兼容性写法

    js的事件绑定方法中,ie仅仅支持attachEvent,而FF和Chrome仅仅支持addEventListener,所以就必须为这两个方法做兼容处理,原理是先推断attachEvent仅仅否为真( ...

  7. vue.js阻止事件冒泡和默认事件

    首先我们来看原生JS取消事件冒泡方法: e.stopPropagation(); //非IE浏览器window.event.cancelBubble = true; //IE浏览器 原生JS阻止默认事 ...

  8. 原生JS事件绑定方法以及jQuery绑定事件方法bind、live、on、delegate的区别

    一.原生JS事件绑定方法: 1.通过HTML属性进行事件处理函数的绑定如: <a href="#" onclick="f()"> 2.通过JavaS ...

  9. JS中的事件类型和事件属性的基础知识

    周末无聊, 这几天又复习了下JS搞基程序设计3, 想着好记性不如浪笔头哇, 要么把这些东西写下来, 这样基础才能更加扎实么么哒, 知道的同学也可以直接过一下,当做复习,  小姨子再也不用担心我的学习啦 ...

随机推荐

  1. strcpy与memcpy的区别

    strcpy和memcpy的区别 strcpy和memcpy都是标准C库函数,它们有下面的特点. strcpy提供了字符串的复制.即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制 ...

  2. js IP 正则表达式

    //^((25[0-5]|2[0-4]\d|[01]?\d\d?)($|(?!\.$)\.)){4}$//((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\ ...

  3. js继承 prototype和constructor

    function a(){                 this.name="aaa";             }             function b(){     ...

  4. win8下 web测试 之 hosts绑定

    从这个开始,开启web测试之旅 绑定hosts: 1.在C:\Windows\System32\drivers\etc下找到 hosts 文件 2.将hosts文件复制到一个地方: 3.修改hosts ...

  5. CALayer CABasicAnimation

    CALayer是UIView可以响应事件.一般来说,layer可以有两种用途:一是对view相关属性的设置,包括圆角.阴影.边框等参数:二是实现对view的动画操控. 因此对一个view进行core ...

  6. ListView的使用——聊天窗口

    一.步骤 1.在layout创建两个布局,分别是自己的回答条,和对方的回答条. 2.创建ChatMessage这个类,成员变量有头像地址.聊天内容.所属类型(假设1表示对方,2表示自己). 3.创建C ...

  7. rsync 安装使用详解

    rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync.它的特性如下:可以镜像保存整个目录树和文件系统.可以很容易做到保持原来文件的权限.时间.软硬链接 ...

  8. PHP文件缓存类

    <?php /** * @desc 文件缓存 */ class Cache{ const C_FILE = '/Runtime/'; private $dir = ''; const EXT = ...

  9. 【测试技术】ant在测试中的使用@文件以及目录的读写删和复制

    ant其实就是一个java的打包工具,存在的时间已经很久了,很多同行在使用中可能就是用,对为什么要用它,能够怎么用没有更多的了解: ---------------------------------- ...

  10. Nginx Http模块开发

    关于Nginx Http模块开发的文章非常少,只有Emiler的那篇关于Http模块的文章,但是那篇文章里面,并没有说到事件型的模块如何进行开发.而且文章里面提到的内容实在是让人有点意犹未尽.因此,对 ...