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 相关文章推荐
FireFox下XML对象转化成字符串的解决方法
Dec 09 Javascript
jQuery阻止同类型事件小结
Apr 19 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
May 02 Javascript
jquery实现点击消失的代码
Mar 03 Javascript
JS中自定义定时器让它在某一时刻执行
Sep 02 Javascript
JavaScript数组前面插入元素的方法
Apr 06 Javascript
jQuery操作属性和样式详解
Apr 13 Javascript
动态更新highcharts数据的实现方法
May 28 Javascript
jQuery实现搜索页面关键字的功能
Feb 16 Javascript
小发现之浅谈location.search与location.hash的问题
Jun 23 Javascript
vue-cli脚手架build目录下utils.js工具配置文件详解
Sep 14 Javascript
微信小程序组件生命周期的踩坑记录
Mar 03 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
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
PHP模板引擎SMARTY
2006/10/09 PHP
用PHP做了一个领取优惠券活动的示例代码
2019/07/05 PHP
实用javaScript技术-屏蔽类
2006/08/15 Javascript
在textarea中屏蔽js的某个function的javascript代码
2007/04/20 Javascript
JS封装的自动创建表格的实现代码
2016/06/15 Javascript
NodeJs——入门必看攻略
2016/06/27 NodeJs
JQ选择器_选择同类元素的第N个子元素的实现方法
2016/09/08 Javascript
js移动焦点到最后位置的简单方法
2016/11/25 Javascript
javascript设计模式之中介者模式学习笔记
2017/02/15 Javascript
简单实现js轮播图效果
2017/07/14 Javascript
angular2 ng build部署后base文件路径问题详细解答
2017/07/15 Javascript
vue项目中公用footer组件底部位置的适配问题
2018/05/10 Javascript
JavaScript数组基于交换的排序示例【冒泡排序】
2018/07/21 Javascript
解决bootstrap模态框数据缓存的问题方法
2018/08/10 Javascript
vue实现绑定事件的方法实例代码详解
2019/06/20 Javascript
在layui tab控件中载入外部html页面的方法
2019/09/04 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
2019/09/23 Javascript
[41:20]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS DK
2014/05/26 DOTA
python模块之sys模块和序列化模块(实例讲解)
2017/09/13 Python
Python3实现的字典遍历操作详解
2018/04/18 Python
使用Py2Exe for Python3创建自己的exe程序示例
2018/10/31 Python
python 使用pandas计算累积求和的方法
2019/02/08 Python
基于OpenCV python3实现证件照换背景的方法
2019/03/22 Python
Python综合应用名片管理系统案例详解
2020/01/03 Python
从python读取sql的实例方法
2020/07/21 Python
python 无损批量压缩图片(支持保留图片信息)的示例
2020/09/22 Python
美国NBA官方商店:NBA Store
2019/04/12 全球购物
奢华时尚的创新平台:Baltini
2020/10/03 全球购物
一般党员对照检查材料
2014/09/24 职场文书
文员岗位职责
2015/02/04 职场文书
2015年幼儿园中班工作总结
2015/04/25 职场文书
喋血孤城观后感
2015/06/08 职场文书
关于党风廉政建设宣传教育月的活动总结!
2019/08/08 职场文书
《亲亲我的妈妈》观后感(3篇)
2019/09/26 职场文书
Python Django ORM连表正反操作技巧
2021/06/13 Python