window.event对象详细介绍

976 阅读3分钟

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

点击查看更多内容