js window.event对象详尽解析


Posted in Javascript onFebruary 17, 2009

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
这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。
上面这个Event在工作中确实帮了我不少的忙,所以我记得它了,呵呵。最近看AJAX有点点小问题,在调用WebService的时候文件路径不对,我晓得是因为新建的项目模板不同,产生的WebServive的格式也不同,暂时也还没有找到解决方案,正在研究中,下面还提供一个学习AJAX 的地址:
http://www.cnblogs.com/JeffreyZhao/archive/2007/03/12/ASP_NET_AJAX_MSDN_Webcast_Feedback.html
是赵总做的,讲得比较详细,深入浅出,希望他能推出更多的学习Demo。。。。。。。。。。。。。一起分享

Javascript 相关文章推荐
在IE下:float属性会影响offsetTop的取值
Dec 22 Javascript
JavaScript中使用自然对数ln的方法
Jun 14 Javascript
JS实现图片高亮展示效果实例
Nov 24 Javascript
使用bootstrap validator的remote验证代码经验分享(推荐)
Sep 21 Javascript
微信小程序 图片等比例缩放(图片自适应屏幕)
Nov 16 Javascript
jQuery与js实现颜色渐变的方法
Dec 30 Javascript
Vue.js中的computed工作原理
Mar 22 Javascript
使用typescript开发angular模块并发布npm包
Apr 19 Javascript
详解基于Vue2.0实现的移动端弹窗(Alert, Confirm, Toast)组件
Aug 02 Javascript
JavaScript偏函数与柯里化实例详解
Mar 27 Javascript
vue中npm包全局安装和局部安装过程
Sep 03 Javascript
微信小程序实现拍照和相册选取图片
May 09 Javascript
js实现权限树的更新权限时的全选全消功能
Feb 17 #Javascript
JavaScript 全面解析各种浏览器网页中的JS 执行顺序
Feb 17 #Javascript
JSON扫盲帖 JSON.as类教程
Feb 16 #Javascript
动态为事件添加js代码示例
Feb 15 #Javascript
Ext JS Grid在IE6 下宽度的问题解决方法
Feb 15 #Javascript
javascript Ext JS 状态默认存储时间
Feb 15 #Javascript
Javascript 获取链接(url)参数的方法
Feb 15 #Javascript
You might like
php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
2012/06/13 PHP
PHP分页效率终结版(推荐)
2013/07/01 PHP
PHP用swoole+websocket和redis实现web一对一聊天
2019/11/05 PHP
PHP如何获取Cookie并实现模拟登录
2020/07/16 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
Extjs学习笔记之一 初识Extjs之MessageBox
2010/01/07 Javascript
jQuery中:image选择器用法实例
2015/01/03 Javascript
JS实现表格数据各种搜索功能的方法
2015/03/03 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
jQuery实现的多滑动门,多选项卡效果代码
2016/03/28 Javascript
localStorage实现便签小程序
2016/11/28 Javascript
javascript流程控制语句集合
2017/09/18 Javascript
node中modules.exports与exports导出的区别
2018/06/08 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
VUE脚手架的下载和配置步骤详解
2019/04/01 Javascript
Vue数据驱动表单渲染,轻松搞定form表单
2019/07/19 Javascript
实例讲解React 组件
2020/07/07 Javascript
Vue 请求传公共参数的操作
2020/07/31 Javascript
微信小程序完美解决scroll-view高度自适应问题的方法
2020/08/08 Javascript
Python中的XML库4Suite Server的介绍
2015/04/14 Python
Python数组遍历的简单实现方法小结
2016/04/27 Python
Python实现多进程共享数据的方法分析
2017/12/04 Python
Python无损音乐搜索引擎实现代码
2018/02/02 Python
对python调用RPC接口的实例详解
2019/01/03 Python
美国最受欢迎的童装品牌之一:The Children’s Place
2016/07/23 全球购物
某IT外企面试题-二分法求方程!看看大家的C++功底
2015/07/04 面试题
关于VPN
2012/06/10 面试题
化学专业毕业生自荐信
2013/11/15 职场文书
高中毕业生个人自我鉴定
2013/11/24 职场文书
C++程序员求职信
2014/05/07 职场文书
小学生差生评语
2014/12/29 职场文书
员工表扬信怎么写
2015/05/05 职场文书
2015暑假实习报告范文
2015/07/13 职场文书
少先队中队工作总结
2015/08/14 职场文书
2016年企业先进员工事迹材料
2016/02/25 职场文书
pyqt5蒙版遮罩mask,setmask的使用
2021/06/11 Python