当前位置: 代码迷 >> Web前端 >> window.event对象详细引见
  详细解决方案

window.event对象详细引见

热度:248   发布时间:2012-10-25 10:58:57.0
window.event对象详细介绍

1、event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等。event对象只在事件发生的过程中才有效。event的某些属性只对特定的事件有意义。比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义。

2、属性:
altKey, button, cancelBubble, clientX, clientY, ctrlKey, fromElement, keyCode, offsetX, offsetY, propertyName, returnValue, screenX, screenY, shiftKey, srcElement, srcFilter, toElement, type, x, y


3、属性详细说明:


属性名 描述 值 说明
altKey 检查alt键的状态 当alt键按下时,值为True否则为False 只读
shiftKey 检查shift键的状态 当shift键按下时,值为True否则为False 只读
ctrlKey 检查ctrl键的状态 当ctrl键按下时,值为True否则为False 只读
例:(点击按钮时显示那几个特殊键按下的状态)
<input type="button" value="点击" onClick="showState()"/>
<script>
function show(){
?alert("altKey:"+window.event.altKey
? +"\nshiftKey:"+window.event.shiftKey
? +"\nctrlKey:"+window.event.ctrlKey);
}</script>
?keyCode? 检测键盘事件相对应的内码??? 可读写,可以是任何一个Unicode键盘内码。如果没有引发键盘事件,则该值为0
例:(按回车键让下一组件得到焦点,相当按Tab键)
<input type="text" onKeyDown="nextBlur()"/>
<input type="text"/>
<script>
function nextBlur(){
?if(window.event.keyCode==13)//回车键的 code
? window.event.keyCode=9;//Tab键的code
}
</script>
?srcElement? 返回触发事件的元素? Object? 只读
例:(点击按钮时显示按钮的name值)
<input type="button" value="闽" name="福建" onClick="show()"/>
<input type="button" value="赣" name="江西" onClick="show()"/>
<script>
function show(){
?alert(window.event.srcElement.name);
}
</script>
?x,y? 鼠标相对于当前浏览器的位置? px? 只读
?clientX,clientY? 鼠标当前相对于网页的位置? px? 只读
?offsetX,offsetY? 鼠标当前相对于网页中的某一区域的位置? px? 只读
?screenX,screenY? 相对于用户显示器的位置? px? 只读
说明:当你点击一个按钮时得到(x,clientX,offsetX,screenX)很容易明白offsetX;当你把IE窗口还原后得到(x,clientX,screenX),你就会明白screenX;当你把div的属性position在absolute和relative之间切换时,你就会明白x和clientX的区别。
?returnValue? 设置或检查从事件中返回的值? true 事件中的值被返回
false 源对象上事件的默认操作被取消? 可读写
例如:屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键
function KeyDown(){
?//屏蔽鼠标右键、Ctrl+N、Shift+F10、F5刷新、退格键
? if ((window.event.altKey)&&
????? ((window.event.keyCode==37)||?? //屏蔽 Alt+ 方向键 ←
?????? (window.event.keyCode==39))){? //屏蔽 Alt+ 方向键 →
???? event.returnValue=false;//防止使用ALT+方向键前进或后退网页
? }
? if ((event.keyCode==8) ||????? //屏蔽退格删除键
????? (event.keyCode==116)||?? //屏蔽 F5 刷新键
????? (event.keyCode==112)||?? //屏蔽 F1 刷新键 bitsCN.com中国网管联盟
????? (event.ctrlKey && event.keyCode==82)){ //Ctrl + R
???? event.keyCode=0;
???? event.returnValue=false;
? }
? if ((event.ctrlKey)&&(event.keyCode==78))?? //屏蔽Ctrl+N
???? event.returnValue=false;
? if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽Shift+F10
???? event.returnValue=false;
? if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
????? window.event.returnValue = false;? //屏蔽 shift 加鼠标左键新开一网页
? if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4
????? window.showModelessDialog("about:blank","","dialogWidth:1px;dialogHeight:1px");
????? return false;}
}
?button? 检查按下的鼠标键? 0 没按键
1 按左键
2 按右键
3 按左右键
4 按中间键
5 按左键和中间键
6 按右键和中间键
7 按所有的键? 仅用于onmousedown,onmouseup和onmousemove事件。对其他事件,不管鼠标状态如何,都返回0(比如onclick)
?srcElement? 检测onmouseover和onmouseout事件发生时,鼠标所离开的元素? Object? 只读
?toElement? 检测onmouseover和onmouseout事件发生时,鼠标所进入的元素? Object? 只读
?type? 返回事件名??? 返回没有“on”作为前缀的事件名,比如,onclick事件返回的type是click

?

  相关解决方案