javascript中window.event事件用法详解


Posted in Javascript onDecember 11, 2012

前两天写程序时因为要用到javascript中的window.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
[/code]
描述:
设置或检查从事件中返回的值
语法:
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
这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。

Javascript 相关文章推荐
jquery控制listbox中项的移动并排序
Nov 12 Javascript
javascript实现删除前弹出确认框
Jun 04 Javascript
js实现当前输入框高亮显示的方法
Aug 19 Javascript
解决JavaScript数字精度丢失问题的方法
Dec 03 Javascript
Js调用Java方法并互相传参的简单实例
Aug 11 Javascript
js仿搜狐视频记录片列表展示效果
May 30 Javascript
Angularjs分页查询的实现
Feb 24 Javascript
vue项目上传Github预览的实现示例
Nov 06 Javascript
微信小程序的开发范式BeautyWe.js入门详解
Jul 10 Javascript
浅谈layui 表单元素的选中问题
Oct 25 Javascript
基于Vue sessionStorage实现保留搜索框搜索内容
Jun 01 Javascript
关于vue 结合原生js 解决echarts resize问题
Jul 26 Javascript
js 延迟加载 改变JS的位置加快网页加载速度
Dec 11 #Javascript
js控制CSS样式属性语法对照表
Dec 11 #Javascript
javascript向flash swf文件传递参数值注意细节
Dec 11 #Javascript
ajax的hide隐藏问题解决方法
Dec 11 #Javascript
ajax上传时参数提交不更新等相关问题
Dec 11 #Javascript
jQuery(非HTML5)可编辑表格实现代码
Dec 11 #Javascript
jQuery使用数组编写图片无缝向左滚动
Dec 11 #Javascript
You might like
php 无法加载mysql的module的时候的配置的解决方案引发的思考
2012/01/27 PHP
php保存二进制原始数据为图片的程序代码
2014/10/14 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
2019/02/08 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
2019/09/23 PHP
thinkphp框架使用JWTtoken的方法详解
2019/10/10 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
2019/10/14 PHP
用JavaScript获取网页中的js、css、Flash等文件
2006/12/20 Javascript
Javascript实例教程(19) 使用HoTMetal(6)
2006/12/23 Javascript
获取JavaScript用户自定义类的类名称的代码
2007/03/08 Javascript
基于jquery的滚动鼠标放大缩小图片效果
2011/10/27 Javascript
JavaScript检查某个function是否是原生代码的方法
2014/08/20 Javascript
javascript实现五星评分功能
2015/11/10 Javascript
将鼠标焦点定位到文本框最后(代码分享)
2017/01/11 Javascript
JavaScript程序设计高级算法之动态规划实例分析
2017/11/24 Javascript
使用vux实现上拉刷新功能遇到的坑
2018/02/08 Javascript
node的process以及child_process模块学习笔记
2018/03/06 Javascript
Angular网络请求的封装方法
2018/05/22 Javascript
js实现各浏览器全屏代码实例
2018/07/03 Javascript
[19:24]DOTA2客户端使用指南 一分钟快速设置轻松超神
2013/09/24 DOTA
Django开发中复选框用法示例
2018/03/20 Python
python3读取csv和xlsx文件的实例
2018/06/22 Python
python调用百度语音识别实现大音频文件语音识别功能
2018/08/30 Python
python运用sklearn实现KNN分类算法
2019/10/16 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
终于搞懂了Keras中multiloss的对应关系介绍
2020/06/22 Python
html5定制表单_动力节点Java学院整理
2017/07/11 HTML / CSS
AmazeUI框架搭建的方法步骤(图文)
2020/08/17 HTML / CSS
全球工业:Global Industrial
2020/02/01 全球购物
本科生导师推荐信范文
2014/05/18 职场文书
运动会广播稿200字(10篇)
2014/10/12 职场文书
三峡导游词
2015/01/31 职场文书
初任公务员培训心得体会
2016/01/08 职场文书
Python 数据结构之十大经典排序算法一文通关
2021/10/16 Python
redis击穿 雪崩 穿透超详细解决方案梳理
2022/03/17 Redis
PyTorch device与cuda.device用法
2022/04/03 Python