`
liudaoru
  • 浏览: 1579027 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于Javascript中的事件--Event对象[z]

    博客分类:
  • Ajax
阅读更多
From: http://www.phpip.com/design/2007/0408/css_10015.html
Event是Javascript中的重要事件,event代表事件的状态,专门负责对事件的处理,它的属性和方法能帮助我们完成很多和用户交互的操作,下面是对这个对象的简单总结,希望跟大家一起学习

一、Event对象的主要属性和方法
  
  1.type:事件的类型,就是HTML标签属性中,没有“on”前缀之后的字符串,例如“Click”就代表单击事件。

  2.srcElement:事件源,就是发生事件的元素。比如<a ></a> a这个链接是事件发生的源头,也就是该事件的srcElement。(非IE中用target)

  3.button:声明了被按下的鼠标键,是一个整数。0代表没有按键,1代表鼠标左键,2代表鼠标右键,4代表鼠标的中间键,如果按下了多个鼠标键,就把这些值加在一起,所以3就代表左右键同时按下。

  4.clientX/clientY:是指事件发生的时候,鼠标的横、纵坐标,返回的是整数,它们的值是相对于包容窗口的左上角生成的。

  5.offsetX/offsetY:鼠标指针相对于源元素的位置,可以确定单击Image对象的哪个象素。

  6.altKey,ctrlKey,shiftKey:顾名思义,这些属性是指鼠标事件发生的时候,是否同时按住了Alt、Ctrl或者Shift键,返回的是一个布尔值。

  7.keyCode:返回keydown和keyup事件发生的时候,按键的代码以及keypress事件的Unicode字符。比如event.keyCode=13代表按下了回车键;

  8.fromElement、toElement前者是指代mouseover事件移动过的文档元素,后者指代mouseout事件中鼠标移动到的文档元素。

  9.cancelBubble:一个布尔属性,把它设置为true的时候,将停止事件进一步起泡到包容层次的元素,它用于检测是否接受上层元素的事件的控制。true代表不被上层元素的事件控制,false代表允许被上层元素的事件控制。

  10.returnValue:一个布尔值属性,设置为false的时候可以阻止浏览器执行默认的事件动作,相当于<a href=”#” onclick=”ProcessMethod();return false;” />。

  11.attachEvent()和detachEvent()方法:为制定DOM对象事件类型注册多个事件处理函数的方法,它们有两个参数,第一个是事件类型,第二个是事件处理函数。在attachEvent()事件执行的时候,this关键字指向的是window对象,而不是发生事件的那个元素。

二、 IE Event对象的一些说明

  Event对象是一个全局属性
  在IE中,不能把Event对象作为参数传递给事件处理程序,只能用window.event或者event来引用Event对象。因为在IE中,Event是window的一个属性,也就是说event是一个全局变量,这个变量提供了事件的细节。


三、关于事件的起泡的概念

  IE中事件的起泡:IE中事件可以沿着包容层次一点点起泡到上层,也就是说,下层的DOM节点定义的事件处理函数,到了上层的节点如果还有和下层相同事件类型的事件处理函数,那么上层的事件处理函数也会执行。例如,<div>标签包含了<a>,如果这两个标签都有 onclick事件的处理函数,那么执行的情况就是先执行<a>标签的onclick事件处理函数,再执行<div>的事件处理函数。如果希望<a>的事件处理函数执行完毕之后,不希望执行上层的<div>的onclick的事件处理函数了,那么就把 cancelBubble设置为false即可。

四、W3C DOM标准中的Event
和IE不同的是,W3C DOM中的Event对象并不是window全局对象下面的属性,换句话说,event不是全局变量。通常在DOM二级标准中,event作为发生事件的文档对象的属性。Event含有两个子接口,分别是UIEvent和MutationEvent,这两个子接口实现了Event的所有方法和属性,而 MouseEvent接口又是UIEvent的子接口,所以实现了UIEvent和Event的所有方法和属性。下面,我们就看看Event、 UIEvent和MouseEvent的主要属性和方法。
  1.Event
   type:事件类型,和IE类似,但是没有“on”前缀,例如单击事件只是“click”。
   target:发生事件的节点。
   currentTarget:发生当前正在处理的事件的节点,可能是Target属性所指向的节点,也可能由于捕捉或者起泡,指向Target所指节点的父节点。
   eventPhase:指定了事件传播的阶段。是一个数字。
   timeStamp:事件发生的时间。
   bubbles:指明该事件是否起泡。
   cancelable:指明该事件是否可以用preventDefault()方法来取消默认的动作。
   preventDefault()方法:取消事件的默认动作;
   stopPropagation()方法:停止事件传播。
  2.UIEvent
   view:发生事件的window对象。
   detail:提供事件的额外信息,对于单击事件、mousedown和mouseup事件都代表的是点击次数。
  3.MouseEvent
   button:一个数字,指明在mousedown、mouseup和单击事件中,鼠标键的状态,和IE中的button属性类似,但是数字代表的意义不一样,0代表左键,1代表中间键,2代表右键。
   altKey、ctrlKey、shiftKey、metaKey:和IE相同,但是IE没有最后一个。
clientX、clientY:和IE的含义相同,但是在DOM标准中,这两个属性值都不考虑文档的滚动情况,也就是说,无论文档滚动到哪里,只要事件发生在窗口左上角,clientX和clientY都是0,所以在IE中,要想得到事件发生的坐标相对于文档开头的位置,要加上 document.body.scrollLeft和document.body.scrollTop。
   screenX、screenY:鼠标指针相对于显示器左上角的位置,如果你想打开新的窗口,这两个属性很重要。
   relatedTarget:和IE中的fromElement、toElement类似,除了对于mouseover和mouseout有意义外,其他的事件没什么意义。

分享到:
评论
1 楼 liudaoru 2008-01-10  
//停止冒泡
function stopPopup(evt) {
var ev = window.event || evt;
ev.cancelBubble=true;
ev.bubbles = false;
}

相关推荐

    as3比较详尽的工具类

    JavaScript.as ---------------------- javascript交互 HTTPS.as ---------------------- url随机数 SNS.as ---------------------- 各个sns网站的分享 timeline: prevPlay.as ---------------------...

    event.keycode大全(javascript)

    在JavaScript编程中,`event`对象是用于处理用户与页面交互时产生的事件的关键部分。`event.keyCode`属性是这个对象中的一个属性,它在键盘事件(如`keydown`、`keyup`或`keypress`)发生时,返回按下键的ASCII码...

    event_listener.7z

    在Photoshop中,`event_listener.jsx` 是一个用于实现事件监听功能的JavaScript脚本。JavaScript在Photoshop中作为 ExtendScript 执行,它允许用户自定义和扩展软件的行为,响应Photoshop的各种内置事件。以下是关于...

    day11-Event Keycodes(事件键码)

    在这里,Event对象扮演了重要角色,特别是它的`keycode`属性。每当用户按下键盘键时,浏览器会触发一个键盘事件,这个事件包含了键码信息。例如,`event.keyCode`可以返回用户按下的键对应的整数值。例如,回车键的...

    window.event.keycode值大全

    在JavaScript中,当一个键盘事件发生时(例如用户按下或释放键盘上的某个键),浏览器会触发相应的事件,如`keydown`、`keyup`等。这些事件对象通常包含有关触发事件的键的信息,包括按键的`keyCode`。`keyCode`是一...

    qt例程-事件触发VSQtUseQmlUi.7z

    3. 事件处理:事件接收者对象通过重载`QObject::event(QEvent *)`函数来处理事件,或者通过特定的事件槽(如`QPushButton::clicked()`)来响应特定类型的事件。 在QT例程中,我们经常看到使用信号和槽机制来处理...

    010课-复习extend方法、事件封装及正则表达式1.rar

    在JavaScript的世界里,"extend"方法、事件封装和正则表达式是不可或缺的重要概念,它们在实际编程中扮演着至关重要的角色。让我们深入探讨这些知识点。 首先,我们来看"extend"方法。在JavaScript中,"extend"通常...

    Javascript键盘表

    在JavaScript中,可以通过事件对象的`keyCode`属性来获取。然而,自ES6起,推荐使用`event.code`代替`event.keyCode`,因为`event.code`提供了更标准化且跨浏览器兼容的键标识方式。 ### 3. 键码列表解析 以下是从...

    js捕获后台事件js捕获后台事件

    在JavaScript中,事件对象是当特定事件发生时由浏览器自动创建的对象。该对象包含了与事件有关的信息,例如事件类型、触发事件的元素等。在处理键盘事件时,我们通常会用到`event`对象中的`keyCode`、`shiftKey`、`...

    【JavaScript源代码】Vue+element-ui添加自定义右键菜单的方法示例.docx

    z-index: 3000; position: absolute; list-style-type: none; padding: 5px 0; border-radius: 4px; font-size: 12px; font-weight: 400; color: #333; box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.3); li...

    笔试题之Javascript

    - **window.event**: IE提供了`window.event`全局变量来访问当前事件,而FF通过将事件对象作为参数传递给事件处理函数。 - **事件源获取**:IE使用`srcElement`,FF使用`target`来获取触发事件的元素。 - **添加/...

    javascript轮播图示例.zip

    - 事件对象(event)可以获取触发事件的相关信息,如`event.target`获取触发事件的元素。 5. **变量和数据管理**: - 常见的变量有当前显示的索引、总图片数量、计时器ID等,用于跟踪轮播状态。 - 逻辑控制确保...

    js中event.keycode键值大全

    ### JavaScript中的Event.keyCode键值详解 在JavaScript编程中,`event.keyCode`是一个非常有用的属性,它可以帮助开发者捕获用户在页面上的键盘输入行为,并通过不同的键值来区分各种按键。本文将详细介绍`event....

    Javascript键盘虚拟键值编码表

    这个编码表提供了每个键盘按键对应的ASCII或Unicode值,这些值可以在JavaScript的键盘事件对象(如`event.keyCode`)中获取。下面是对键盘虚拟键值编码表的详细解释: 1. **字母和数字键**:对于大写和小写字母,...

    web前端开发笔试集锦(javascript篇)定义.pdf

    例如,`window.event`在IE中表示当前事件对象,而在Firefox中需要作为参数传递;`srcElement`在IE中用于获取事件源,而Firefox使用`target`;事件的添加和移除,IE使用`attachEvent`和`detachEvent`,Firefox使用`...

    javascript keycode大全.txt

    2. **事件对象**: 在JavaScript中,可以通过监听键盘事件(如`keydown`, `keyup`, `keypress`等)来捕获键盘操作,并通过事件对象来获取相应的键值信息。 #### 三、KeyCode值详解 ##### 基础按键 - **8 (Backspace...

    javascript 键盘 键值

    当键盘事件被触发时,会生成一个事件对象,该对象包含了关于键盘事件的详细信息,包括: - `event.keyCode`:表示按键的物理位置(ASCII码)。 - `event.key`:表示按键的值(例如按下的字母或数字)。 - `event....

    javascript keycode大全

    在JavaScript中,我们通常通过事件对象(如`event`)的`keyCode`属性来获取按下键的Keycode值。例如,可以使用以下代码监听键盘事件并打印Keycode: ```javascript document.addEventListener('keydown', function...

    常用的JavaScript特效手册

    - 避免元素重叠问题,使用 `position` 和 `z-index` 属性调整层次。 5. **无限滚动(Infinite Scroll)**: - 监听滚动事件,当用户接近页面底部时加载更多内容。 - 使用 AJAX 请求获取新数据,并将其插入到页面...

    JQuery(A~Z)教程

    jQuery允许在事件和插件中使用命名空间,如`.on('custom.event', function() {...})`,便于管理和卸载特定功能。 ### O - Offcanvas 通过jQuery,可以轻松实现侧边栏滑动显示(Offcanvas)效果,常用于响应式设计...

Global site tag (gtag.js) - Google Analytics