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

解析event对象(转)

阅读更多
event

--------------------------------------------------------------------------------

描述

event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等。

event对象只在事件发生的过程中才有效。

event的某些属性只对特定的事件有意义。比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义。

例子

下面的例子检查鼠标是否在链接上单击,并且,如果shift键被按下,就取消链接的跳转。



<script language="JScript">
function cancelLink() {
    if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
        window.event.returnValue = false;
}
</script>


下面的例子在状态栏上显示鼠标的当前位置。




属性:

altKey, button, cancelBubble, clientX, clientY, ctrlKey, fromElement, keyCode, offsetX, offsetY, propertyName, returnValue, screenX, screenY, shiftKey, srcElement, srcFilter, toElement, type, x, y

--------------------------------------------------------------------------------

1.altKey
描述:
检查alt键的状态。

语法:
event.altKey

可能的值:
当alt键按下时,值为 TRUE ,否则为 FALSE 。只读。


2.button
描述:
检查按下的鼠标键。

语法:
event.button

可能的值:
0 没按键
1 按左键
2 按右键
3 按左右键
4 按中间键
5 按左键和中间键
6 按右键和中间键
7 按所有的键

这个属性仅用于onmousedown, onmouseup, 和 onmousemove 事件。对其他事件,不管鼠标状态如何,都返回 0(比如onclick)。

3.cancelBubble
描述:
检测是否接受上层元素的事件的控制。

语法:
event.cancelBubble[ = cancelBubble]

可能的值:
这是一个可读写的布尔值:

TRUE  不被上层原素的事件控制。
FALSE  允许被上层元素的事件控制。这是默认值。

例子:
下面的代码片断演示了当在图片上点击(onclick)时,如果同时shift键也被按下,就取消上层元素(body)上的事件onclick所引发的showSrc()函数。

<script language="JScript">
function checkCancel() {
if (window.event.shiftKey)
    window.event.cancelBubble = true;
}
function showSrc() {
    if (window.event.srcElement.tagName == "IMG")
        alert(window.event.srcElement.src);
}
</script>




4.clientX
描述:
返回鼠标在窗口客户区域中的X坐标。

语法:
event.clientX

注释:
这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。


5.clientY
描述:
返回鼠标在窗口客户区域中的Y坐标。

语法:
event.clientY

注释:
这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。


6.ctrlKey
描述:
检查ctrl键的状态。

语法:
event.ctrlKey

可能的值:
当ctrl键按下时,值为 TRUE ,否则为 FALSE 。只读。


7.fromElement
描述:
检测 onmouseover 和 onmouseout 事件发生时,鼠标所离开的元素。 参考:18.toElement

语法:
event.fromElement

注释:
这是个只读属性。


8.keyCode
描述:
(请参考 http://www.joyist.com/forum/showtopic.asp?TOPIC_ID=31&Forum_ID=2)
检测键盘事件相对应的内码。
这个属性用于 onkeydown, onkeyup, 和 onkeypress 事件。

语法:
event.keyCode[ = keyCode]


可能的值:
这是个可读写的值,可以是任何一个Unicode键盘内码。如果没有引发键盘事件,则该值为 0 。


9.offsetX
描述:
检查相对于触发事件的对象,鼠标位置的水平坐标

语法:
event.offsetX


10.offsetY
描述:
检查相对于触发事件的对象,鼠标位置的垂直坐标

语法:
event.offsetY


11.propertyName
描述:
设置或返回元素的变化了的属性的名称。

语法:
event.propertyName [ = sProperty ]

可能的值:
sProperty 是一个字符串,指定或返回触发事件的元素在事件中变化了的属性的名称。
这个属性是可读写的。无默认值。

注释:
你可以通过使用 onpropertychange 事件,得到 propertyName 的值。

例子:
下面的例子通过使用 onpropertychange 事件,弹出一个对话框,显示 propertyName 的值。


<script>
function changeProp()
{
    btnProp.value = "This is the new VALUE";
}

function changeCSSProp()
{
    btnStyleProp.style.backgroundColor = "aqua";
}
</script>


The event object property propertyName is
    used here to return which property has been
    altered.



       VALUE="Click to change the VALUE property of this button"
       onpropertychange='alert(event.propertyName+" property has changed value")'>
       onclick="changeCSSProp()"
       VALUE="Click to change the CSS backgroundColor property of this button"
       onpropertychange='alert(event.propertyName+" property has changed value")'>



12.returnValue
描述:
设置或检查从事件中返回的值

语法:
event.returnValue[ = Boolean]

可能的值:
true 事件中的值被返回
false 源对象上事件的默认操作被取消

例子见本文的开头。


13.screenX
描述:
检测鼠标相对于用户屏幕的水平位置

语法:
event.screenX


注释:
这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。


14.screenY
描述:
检测鼠标相对于用户屏幕的垂直位置

语法:
event.screenY

注释:
这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。


15.shiftKey
描述:
检查shift键的状态。

语法:
event.shiftKey

可能的值:
当shift键按下时,值为 TRUE ,否则为 FALSE 。只读。


16.srcElement
描述:
返回触发事件的元素。只读。例子见本文开头。

语法:
event.srcElement


17.srcFilter
描述:
返回触发 onfilterchange 事件的滤镜。只读。

语法:
event.srcFilter


18.toElement
描述:
检测 onmouseover 和 onmouseout 事件发生时,鼠标所进入的元素。 参考:7.fromElement

语法:
event.toElement

注释:
这是个只读属性。

例子:下面的代码演示了当鼠标移到按钮上时,弹出一个对话框,显示“mouse arrived”

<script>
function testMouse(oObject) {
       if(oObject.contains(event.toElement)) {
              alert("mouse arrived");
       }
}
</script>
:
Mouse Over This.


19.type
描述:
返回事件名。

语法:
event.type

注释:
返回没有“on”作为前缀的事件名,比如,onclick事件返回的type是click
只读。


20. x
描述:
返回鼠标相对于css属性中有position属性的上级元素的x轴坐标。如果没有css属性中有position属性的上级元素,默认以BODY元素作为参考对象。

语法:
event.x

注释:
如果事件触发后,鼠标移出窗口外,则返回的值为 -1
这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。


21. y
描述:
返回鼠标相对于css属性中有position属性的上级元素的y轴坐标。如果没有css属性中有position属性的上级元素,默认以BODY元素作为参考对象。

语法:
event.y

注释:
如果事件触发后,鼠标移出窗口外,则返回的值为 -1
这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。




编译自 msdn 。
分享到:
评论

相关推荐

    [JS]详尽解析window.event对象

    `window.event`对象是JavaScript中一个非常重要的概念,特别是在处理DOM事件时。它代表了当前事件的状态和相关信息,包括触发事件的元素、鼠标位置、按键状态等。在事件发生时,`event`对象会作为参数传递给事件处理...

    window对象--event对象详解

    Event对象则是JavaScript事件处理中的核心组件,用于封装事件的所有相关信息。本文将深入探讨Window对象和Event对象的相关知识点,以及如何通过实际示例(如`demo1.html`)来理解和应用它们。 首先,Window对象是...

    js window.event对象详尽解析

    event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等。 event对象只在事件发生的过程中才有效。 event的某些属性只对特定的事件有意义。比如,fromElement 和 toElement 属性只对 ...

    高手window.event对象详解

    ### 高手window.event对象详解 #### 一、概述 `window.event` 是一个非常重要的JavaScript内置对象,它主要用于处理浏览器中的各种事件。这个对象包含了有关事件的各种信息,例如触发事件的对象、事件类型以及与该...

    okHttp访问返回JSON,XML解析实例

    本篇将详细讲解如何使用OkHttp进行网络访问,并解析返回的JSON与XML数据。 首先,我们需要了解OkHttp的基本用法。OkHttp是一个异步的HTTP客户端,它通过减少网络延迟和内存使用来提高性能。创建一个OkHttpClient...

    C#事件(event)使用方法详解

    事件(event)是C#中的一种机制,允许对象在发生某些情况时通知其他对象。事件(event)使用方法详解将从概念、使用方法、事件编程的优点、事件与委托的关系、事件的实现等方面进行讲解。 事件(event)的概念: 事件...

    event兼容调用(IE,Firefox,Chrome)

    本文将深入探讨在Internet Explorer(IE)、Firefox、Chrome三大主流浏览器中实现event兼容调用的方法,重点解析事件对象的获取及鼠标坐标获取的差异。 #### 事件对象的兼容性获取 在JavaScript中,事件处理通常...

    html5 eventsource

    在提供的压缩包文件中,很可能是包含了一个简单的EventSource示例代码,通过创建EventSource对象,监听服务器推送的事件,展示其基本用法。学习这个例子可以帮助理解EventSource的实际应用和工作流程。

    android xml多种解析生成

    * DOM(Document Object Model)解析器是一种基于树形结构的解析器,它可以将 XML 文件解析为一个树形结构,然后使用 Java 对象处理该结构。DOM 解析器的优点是它可以随机访问 XML 文件的任何部分,但是它需要将整个...

    android xml pull解析示例

    - 开始解析:首先创建`XmlPullParserFactory`工厂对象,然后通过工厂生成`XmlPullParser`解析器实例。 - 设置输入源:将XML文档的输入源(可能是文件、网络流、字符串等)设置到解析器。 - 迭代事件:调用`next()...

    android XML文件解析和序列化 demo

    这个"android XML文件解析和序列化 demo"旨在教你如何处理XML数据,包括解析XML文件以获取信息并将其存储为对象,以及将这些对象序列化回XML文件。下面我们将详细探讨这两个关键过程。 **XML解析** 1. **DOM解析器...

    Android解析xml(3)---Pull解析

    1. **创建PullParser对象**:首先,你需要通过`XmlPullParserFactory`工厂类创建一个`XmlPullParser`实例。通常,你会选择`newInstance()`方法,并设置解析器类型为非Namespace感知的XML解析器。 2. **设置输入源**...

    jquery.event.drag jquery拖动插件

    《jQuery Event Drag 插件深度解析与应用实践》 在Web开发中,用户交互体验的提升是关键之一,其中拖放(Drag and Drop)功能尤为常见,如文件管理、元素布局等。jQuery作为广泛使用的JavaScript库,提供了丰富的...

    Pull和SAX 解析的实例

    2. 使用工厂创建`XmlPullParser`解析器对象。 3. 设置解析器的输入源,可以是文件、流或字符串。 4. 遍历XML文档,通过`next()`方法移动到下一个事件,如START_TAG、END_TAG、TEXT等。 5. 根据事件类型执行相应的...

    js中的事件对象解析1

    当在 DOM(文档对象模型)中触发一个事件时,如点击、鼠标移动等,浏览器会生成一个事件对象(event object),这个对象包含了关于事件的所有相关信息。在本文中,我们将深入探讨 DOM 事件对象、IE 事件对象以及如何...

    android 安卓xml pull解析

    2. 使用工厂实例创建`XmlPullParser`对象。 3. 设置解析的XML源,可以是本地文件或网络流。 4. 遍历XML文档,调用`next()`方法移动到下一个事件。 5. 根据事件类型(如START_TAG、END_TAG等)进行相应的处理。 四、...

    android之Pull解析XML文件

    使用`XmlPullParserFactory`工厂类创建`XmlPullParser`对象,这是解析XML的入口点。以下代码展示了如何获取并初始化Pull解析器: ```java try { XmlPullParserFactory factory = XmlPullParserFactory.new...

    Android studio下的XML pull 解析 demo

    1. **初始化解析器**:首先,你需要创建一个`XmlPullParserFactory`实例,并用它来创建`XmlPullParser`对象。这通常通过调用`XmlPullParserFactory.newInstance()`方法完成,然后使用`setInput()`方法设置要解析的...

    Android简单的pull解析

    例如,你可以创建一个Weather类来存储这些信息,并在解析到对应的开始元素时创建一个Weather对象,然后在结束元素时填充数据。 6. **解析经纬度信息**:经纬度的XML文件可能包含经度和纬度值。同样,创建一个...

Global site tag (gtag.js) - Google Analytics