js的event详解。


Posted in Javascript onSeptember 06, 2006

event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等。
event对象只在事件发生的过程中才有效。
event的某些属性只对特定的事件有意义。比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义。
例子
下面的例子检查鼠标是否在链接上单击,并且,如果shift键被按下,就取消链接的跳转。
code<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()">
下面的例子在状态栏上显示鼠标的当前位置。
code<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()函数。
code<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 的值。
code<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”
code<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的一个简单的鼠标跟随提示效果
Sep 23 Javascript
JqGrid web打印实现代码
May 31 Javascript
js函数的引用, 关于内存的开销
Sep 17 Javascript
alert出数组中的随即值代码
Sep 25 Javascript
基于jquery和svg实现超炫酷的动画特效
Dec 09 Javascript
JS中对数组元素进行增删改移的方法总结
Dec 15 Javascript
JavaScript中日常收集常见的10种错误(推荐)
Jan 08 Javascript
jQuery实现拖动效果的实例代码
Jun 25 jQuery
JavaScript高阶函数_动力节点Java学院整理
Jun 28 Javascript
浅谈Vue SSR 的 Cookies 问题
Nov 20 Javascript
15分钟深入了解JS继承分类、原理与用法
Jan 19 Javascript
微信小程序mpvue点击按钮获取button值的方法
May 29 Javascript
农历与西历对照
Sep 06 #Javascript
MSN消息提示类
Sep 05 #Javascript
经验几则 推荐
Sep 05 #Javascript
JS实现浏览器菜单命令
Sep 05 #Javascript
免费空间广告万能消除代码
Sep 04 #Javascript
srcElement表格样式
Sep 03 #Javascript
广告显示判断
Aug 31 #Javascript
You might like
在数据量大(超过10万)的情况下
2007/01/15 PHP
PHP中把对象数组转换成普通数组的方法
2015/07/10 PHP
twig模板常用语句实例小结
2016/02/04 PHP
PHP实现数据四舍五入的方法小结【4种方法】
2019/03/27 PHP
动态创建的表格单元格中的事件实现代码
2008/12/30 Javascript
javascript中的array数组使用技巧
2010/01/31 Javascript
返回对象在当前级别中是第几个元素的实现代码
2011/01/20 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
页面按钮禁用与解除禁用的方法
2014/02/19 Javascript
js控制浏览器全屏示例代码
2014/02/20 Javascript
JQuery对表格进行操作的常用技巧总结
2014/04/23 Javascript
js数组常见操作及数组与字符串相互转化实例详解
2015/11/10 Javascript
jQuery头像裁剪工具jcrop用法实例(附演示与demo源码下载)
2016/01/22 Javascript
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
Next.js实现react服务器端渲染的方法示例
2019/01/06 Javascript
[02:39]DOTA2英雄基础教程 天怒法师
2013/11/29 DOTA
python学习手册中的python多态示例代码
2014/01/21 Python
简单使用Python自动生成文章
2014/12/25 Python
Python中处理字符串的相关的len()方法的使用简介
2015/05/19 Python
Tensorflow实现酸奶销量预测分析
2019/07/19 Python
python 检查数据中是否有缺失值,删除缺失值的方式
2019/12/02 Python
pandas和spark dataframe互相转换实例详解
2020/02/18 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
2020/09/04 Python
appium+python自动化配置(adk、jdk、node.js)
2020/11/17 Python
尤妮佳moony海外旗舰店:日本殿堂级纸尿裤品牌
2018/02/23 全球购物
阿尔卡特(中国)的面试题目
2014/08/20 面试题
关于圣诞节的广播稿
2014/01/26 职场文书
学校联谊活动方案
2014/02/15 职场文书
自主招生专家推荐信
2015/03/26 职场文书
2015年采购工作总结
2015/04/10 职场文书
未来,这5大方向都很适合创业
2019/07/22 职场文书
python实现的web监控系统
2021/04/27 Python
oracle连接ODBC sqlserver数据源的详细步骤
2021/07/25 Oracle
Android Flutter实现3D动画效果示例详解
2022/04/07 Java/Android
使用python将HTML转换为PDF pdfkit包(wkhtmltopdf) 的使用方法
2022/04/21 Python