`

详尽解析JavaScript中window.event对象

 
阅读更多

详尽解析JavaScript中window.event对象,阅读详尽解析JavaScript中window.event对象,描述event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等。event对象只在事件发生的过程中才有效。event的某些属性只对特定的事件有意义。比如:

描述
event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等。
event对象只在事件发生的过程中才有效。
event的某些属性只对特定的事件有意义。比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义。
例子下面的例子检查鼠标是否在链接上单击,并且,如果shift键被按下,就取消链接的跳转。
 
<HTML>
<HEAD><TITLE>Cancels Links</TITLE>
<SCRIPT LANGUAGE="JScript">
function cancelLink() {
if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
window.event.returnValue = false;
}
</SCRIPT>
<BODY onclick="cancelLink()">下面的例子在状态栏上显示鼠标的当前位置。
<BODY onmousemove="window.status = 'X=' + window.event.x + ' Y=' + window.event.y">属性:
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>
<BODY onclick="showSrc()">
<IMG onclick="checkCancel()" src="/sample.gif">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
描述:
检测键盘事件相对应的内码。
这个属性用于 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 的值。
<HEAD>
<SCRIPT>
function changeProp()
{
btnProp.value = "This is the new VALUE";
}

function changeCSSProp()
{
btnStyleProp.style.backgroundColor = "aqua";
}
</SCRIPT>
</HEAD>
<BODY>
<P>The event object property propertyName is
used here to return which property has been
altered.</P>

<INPUT TYPE=button ID=btnProp onclick="changeProp()"
VALUE="Click to change the VALUE property of this button"
onpropertychange='alert(event.propertyName+" property has changed value")'>
<INPUT TYPE=button ID=btnStyleProp
onclick="changeCSSProp()"
VALUE="Click to change the CSS backgroundColor property of this button"
onpropertychange='alert(event.propertyName+" property has changed value")'>
</BODY>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>
:
<BUTTON ID=oButton onmouseover="testMouse(this)">Mouse Over This.</BUTTON>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
这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。

分享到:
评论

相关推荐

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

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

    js window.event对象详尽解析

    JavaScript中的`window.event`对象是浏览器内置的一个全局变量,它提供了关于当前正在处理的事件的信息。这个对象在事件处理函数内部可用,包含了与事件相关的各种属性和方法,如按键状态、鼠标位置等。下面我们将...

    JavaScript中文手册.CHM,有很好的目录,索引,和搜索功能

    7. **BOM处理**:浏览器对象模型(BOM)让JavaScript可以访问和操作浏览器的特性,如window对象、location对象、navigator对象、history对象等。 8. **异步编程**:讲述回调函数、Promise、async/await等处理异步...

    阮一峰 JavaScript 教程.pdf

    - **window 对象**: 浏览器窗口的全局对象,提供了访问浏览器功能的接口。 - **Navigator 对象和 Screen 对象**: 提供了访问浏览器信息和屏幕信息的方法。 - **Cookie**: 是服务器发送到用户浏览器并保存在本地的一...

    W3CSchool手册

    1. **Window对象**:浏览器窗口是JavaScript中的顶级对象,提供了如`window.location`(用于获取或设置当前URL)、`window.document`(指向文档对象)和`window.alert()`(显示警告对话框)等属性和方法。...

    JavaScript语言详细教程和案例

    console.log(event.target); // &lt;button id="myButton"&gt;Click me }); ``` 7. **DOM 操作** - **获取 DOM 元素**:使用 `getElementById`、`getElementsByClassName`、`querySelector` 和 `querySelectorAll` 等...

    html dom 底层 javascript

    这本手册是为那些对网页构建有基本了解的网络开发者或高级用户设计的,尤其对于希望深入了解如何利用DOM(文档对象模型)进行网页操作与动态修改的读者而言,它提供了详尽的指导。 #### DOM 与 JavaScript 的关系 ...

    兼容多浏览器js 日历控件大全

    确保在事件处理函数中使用正确的事件对象,如非IE浏览器中的`event`和IE中的`window.event`。 3. **CSS兼容性**:样式兼容性是另一个挑战。比如,IE6不支持PNG透明,需要使用特定的CSS hack来解决。此外,盒模型的...

    js获取 input file 图片立即显示

    var file = event.target.files[0]; // 验证是否为图片类型 if (file.type.startsWith('image/')) { previewImage(file); } else { alert('请选择图片文件!'); } }); ``` 3. **预览图片**: 使用`...

    jQueryAPI 文档

    理解`$(document).ready()`和`window.onload`的区别,避免全局查找,使用`$(document).on('event', 'selector', function)`替代直接的事件绑定以减少内存占用,以及合理使用`.end()`方法回到之前的jQuery对象,都是...

    jquery jquery帮助文档

    例如,`$.event.special.dragstart`可以方便地处理拖放事件。 七、性能优化 理解jQuery的性能优化技巧至关重要,如使用`$(document).ready()`代替`window.onload`,避免过多的DOM操作,以及合理利用缓存等。 八、...

    jQuery中文版chm

    《jQuery中文版chm》是前端开发者不可或缺的参考资料,它详尽地介绍了jQuery库的各种功能和用法。jQuery是一款高效、简洁的JavaScript库,它的出现极大地简化了JavaScript的DOM操作,事件处理,动画设计和Ajax交互。...

    jQuery中文API参考手册

    该"jQuery中文API参考手册"是学习和查阅jQuery功能的重要资源,提供了详尽的API文档和实例,帮助开发者快速理解和运用jQuery。 **一、jQuery选择器** jQuery的选择器类似于CSS,用于选取DOM元素。例如,`$("#id")`...

    JQuery的API文件

    **jQuery API概述** jQuery是一个广泛使用的JavaScript库...总之,jQuery以其简洁的语法、强大的功能和广泛的社区支持,成为了JavaScript开发中不可或缺的工具。理解和熟练使用jQuery API,将极大地提升前端开发效率。

    JavaScript"模拟事件"的注意要点详解

    通过以上详尽的步骤和示例,可以看出JavaScript中的事件模拟是一项既强大又复杂的特性,使用时需要兼顾兼容性、正确性和代码的可读性。掌握事件模拟技术,可以让开发者更好地测试和控制JavaScript应用程序中的事件...

    Ext3.2中文API(2010-10-18更新).rar

    Ext3.2中文API是针对Ext3 JavaScript库的一个详尽的中文参考资料,它包含了2010年10月18日的最新更新。这个API文档对于开发者来说是一份非常重要的资源,它提供了关于如何使用Ext3.2库进行Web前端开发的详细信息。 ...

    jquery_api参考手册

    《jQuery API参考手册》是Web开发领域中一份重要的资源,主要涵盖了jQuery库的各种函数、方法和选择器,为开发者提供详尽的API指南。jQuery是一个轻量级的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计...

    jQuery版本汇总+文档

    - **DOM操作时机**:在DOM加载完成后再执行jQuery代码,通常在`$(document).ready()`或`$(window).load()`中进行。 - **缓存DOM对象**:频繁操作的元素应先存储为jQuery对象,减少DOM查找次数。 ### 5. 结合其他库...

Global site tag (gtag.js) - Google Analytics