event对象

 

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

  描述:(请参考 http://www.joyist.com/forum/showto ... ID=31&Forum_ID=2)检测键盘事件相对应的内码。这个属性用于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

描述:设置或检查从事件中返回的值

语法: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事件返回的typeclick只读。

  20. x

描述:返回鼠标相对于css属性中有position属性的上级元素的x轴坐标。如果没有css属性中有position属性的上级元素,默认以BODY元素作为参考对象。

语法:event.x

注释:如果事件触发后,鼠标移出窗口外,则返回的值为 -1 ,这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。

  21. y

描述: 返回鼠标相对于css属性中有position属性的上级元素的y轴坐标。如果没有css属性中有position属性的上级元素,默认以BODY元素作为参考对象。

语法: event.y

注释: 如果事件触发后,鼠标移出窗口外,则返回的值为 -1 ,这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置

 

 

 

 

 

event.keycode大全(javascript)

keycode 8 = BackSpace BackSpace

keycode 9 = Tab Tab

keycode 12 = Clear

keycode 13 = Enter

keycode 16 = Shift_L

keycode 17 = Control_L

keycode 18 = Alt_L

keycode 19 = Pause

keycode 20 = Caps_Lock

keycode 27 = Escape Escape

keycode 32 = space space

keycode 33 = Prior

keycode 34 = Next

keycode 35 = End

keycode 36 = Home

keycode 37 = Left

keycode 38 = Up

keycode 39 = Right

keycode 40 = Down

keycode 41 = Select

keycode 42 = Print

keycode 43 = Execute

keycode 45 = Insert

keycode 46 = Delete

keycode 47 = Help

keycode 48 = 0 equal braceright

keycode 49 = 1 exclam onesuperior

keycode 50 = 2 quotedbl twosuperior

keycode 51 = 3 section threesuperior

keycode 52 = 4 dollar

keycode 53 = 5 percent

keycode 54 = 6 ampersand

keycode 55 = 7 slash braceleft

keycode 56 = 8 parenleft bracketleft

keycode 57 = 9 parenright bracketright

keycode 65 = a A

keycode 66 = b B

keycode 67 = c C

keycode 68 = d D

keycode 69 = e E EuroSign

keycode 70 = f F

keycode 71 = g G

keycode 72 = h H

keycode 73 = i I

keycode 74 = j J

keycode 75 = k K

keycode 76 = l L

keycode 77 = m M mu

keycode 78 = n N

keycode 79 = o O

keycode 80 = p P

keycode 81 = q Q at

keycode 82 = r R

keycode 83 = s S

keycode 84 = t T

keycode 85 = u U

keycode 86 = v V

keycode 87 = w W

keycode 88 = x X

keycode 89 = y Y

keycode 90 = z Z

keycode 96 = KP_0 KP_0

keycode 97 = KP_1 KP_1

keycode 98 = KP_2 KP_2

keycode 99 = KP_3 KP_3

keycode 100 = KP_4 KP_4

keycode 101 = KP_5 KP_5

keycode 102 = KP_6 KP_6

keycode 103 = KP_7 KP_7

keycode 104 = KP_8 KP_8

keycode 105 = KP_9 KP_9

keycode 106 = KP_Multiply KP_Multiply

keycode 107 = KP_Add KP_Add

keycode 108 = KP_Separator KP_Separator

keycode 109 = KP_Subtract KP_Subtract

keycode 110 = KP_Decimal KP_Decimal

keycode 111 = KP_Divide KP_Divide

keycode 112 = F1

keycode 113 = F2

keycode 114 = F3

keycode 115 = F4

keycode 116 = F5

keycode 117 = F6

keycode 118 = F7

keycode 119 = F8

keycode 120 = F9

keycode 121 = F10

keycode 122 = F11

keycode 123 = F12

keycode 124 = F13

keycode 125 = F14

keycode 126 = F15

keycode 127 = F16

keycode 128 = F17

keycode 129 = F18

keycode 130 = F19

keycode 131 = F20

keycode 132 = F21

keycode 133 = F22

keycode 134 = F23

keycode 135 = F24

keycode 136 = Num_Lock

keycode 137 = Scroll_Lock

keycode 187 = acute grave

keycode 188 = comma semicolon

keycode 189 = minus underscore

keycode 190 = period colon

keycode 192 = numbersign apostrophe

keycode 210 = plusminus hyphen macron

keycode 211 =

keycode 212 = copyright registered

keycode 213 = guillemotleft guillemotright

keycode 214 = masculine ordfeminine

keycode 215 = ae AE

keycode 216 = cent yen

keycode 217 = questiondown exclamdown

keycode 218 = onequarter onehalf threequarters

keycode 220 = less greater bar

keycode 221 = plus asterisk asciitilde

keycode 227 = multiply division

keycode 228 = acircumflex Acircumflex

keycode 229 = ecircumflex Ecircumflex

keycode 230 = icircumflex Icircumflex

keycode 231 = ocircumflex Ocircumflex

keycode 232 = ucircumflex Ucircumflex

keycode 233 = ntilde Ntilde

keycode 234 = yacute Yacute

keycode 235 = oslash Ooblique

keycode 236 = aring Aring

keycode 237 = ccedilla Ccedilla

keycode 238 = thorn THORN

keycode 239 = eth ETH

keycode 240 = diaeresis cedilla currency

keycode 241 = agrave Agrave atilde Atilde

keycode 242 = egrave Egrave

keycode 243 = igrave Igrave

keycode 244 = ograve Ograve otilde Otilde

keycode 245 = ugrave Ugrave

keycode 246 = adiaeresis Adiaeresis

keycode 247 = ediaeresis Ediaeresis

keycode 248 = idiaeresis Idiaeresis

keycode 249 = odiaeresis Odiaeresis

keycode 250 = udiaeresis Udiaeresis

keycode 251 = ssharp question backslash

keycode 252 = asciicircum degree

keycode 253 = 3 sterling

keycode 254 = Mode_switch

 

使用event对象的keyCode属性判断输入的键值

egif(event.keyCode==13)alert(enter!);

键值对应表

A  0X65  U   0X85

B  0X66  V   0X86

C  0X67  W   0X87

D  0X68  X   0X88

E  0X69  Y   0X89

F  0X70  Z   0X90

G  0X71  0   0X48

H  0X72  1   0X49

I  0X73  2   0X50

J  0X74  3   0X51

K  0X75  4   0X52

L  0X76  5   0X53

M  0X77  6   0X54

N  0X78  7   0X55

O  0X79  8   0X56

P  0X80  9   0X57

Q  0X81 ESC  0X1B

R  0X82 CTRL  0X11

S  0X83 SHIFT 0X10

T  0X84 ENTER 0XD

 

如果要使用组合键,则可以利用event.ctrlKeyevent.shiftKeyevent .altKey判断是否按下了ctrl键、shift键以及alt

posted on 2009-01-11 14:38  冉元胜  阅读(183)  评论(0编辑  收藏  举报

导航