on Event。

JS的event對象java

Event屬性和方法:

1. type:事件的類型,如onlick中的click;

2. srcElement/target:事件源,就是發生事件的元素;

3. button:聲明被按下的鼠標鍵,整數,1表明左鍵,2表明右鍵,4表明中鍵,若是按下多個鍵,酒把這些值加起來,因此3就表明左右鍵同時按下;(firefox中 0表明左鍵,1表明中間鍵,2表明右鍵)

4. clientX/clientY:事件發生的時候,鼠標相對於瀏覽器窗口可視文檔區域的左上角的位置;(在DOM標準中,這兩個屬性值都不考慮文檔的滾動狀況,也就是說,不管文檔滾動到哪裏,只要事件發生在窗口左上角,clientX和clientY都是 0,因此在IE中,要想獲得事件發生的座標相對於文檔開頭的位置,要加上
document.body.scrollLeft和 document.body.scrollTop)

5. offsetX,offsetY/layerX,layerY:事件發生的時候,鼠標相對於源元素左上角的位置;

6. x,y/pageX,pageY:檢索相對於父要素鼠標水平座標的整數;

7. altKey,ctrlKey,shiftKey等:返回一個布爾值;

8. keyCode:返回keydown何keyup事件發生的時候按鍵的代碼,以及keypress 事件的Unicode字符;(firefox2不支持 event.keycode,能夠用 event.which替代 )

9. fromElement,toElement:前者是指代mouseover事件中鼠標移動過的文檔元素,後者指代mouseout事件中鼠標移動到的文檔元素;

10. cancelBubble:一個布爾屬性,把它設置爲true的時候,將中止事件進一步起泡到包容層次的元素;(e.cancelBubble = true; 至關於 e.stopPropagation();)

11. returnValue:一個布爾屬性,設置爲false的時候能夠組織瀏覽器執行默認的事件動做;(e.returnValue = false; 至關於 e.preventDefault();)

12. attachEvent(),detachEvent()/addEventListener(),removeEventListener:爲制定 DOM對象事件類型註冊多個事件處理函數的方法,它們有兩個參數,第一個是事件類型,第二個是事件處理函數。在
attachEvent()事件執行的時候,this關鍵字指向的是window對象,而不是發生事件的那個元素;

13. screenX、screenY:鼠標指針相對於顯示器左上角的位置,若是你想打開新的窗口,這兩個屬性很重要;
一些說明:

1.  event表明事件的狀態,例如觸發event對象的元素、鼠標的位置及狀態、按下的鍵等等;

2.  event對象只在事件發生的過程當中纔有效。
firefox裏的event跟IE裏的不一樣,IE裏的是全局變量,隨時可用;firefox裏的要用參數引導才能用,是運行時的臨時變量。
在IE/Opera中是window.event,在Firefox中是event;而事件的對象,在IE中是 window.event.srcElement,在Firefox中是event.target,Opera中二者均可用。

3.  下面兩句效果相同
var evt = (evt) ? evt : ((window.event) ? window.event : null);
var evt = evt || window.event; // firefox下window.event爲null, IE下event爲null

4.  IE中事件的起泡
IE中事件能夠沿着包容層次一點點起泡到上層,也就是說,下層的DOM節點定義的事件處理函數,到了上層的節點若是還有和下層相同事件類型的事件處理函數,那麼上層的事件處理函數也會執行。例如, div 標籤包含了 a ,若是這兩個標籤都有onclick事件的處理函數,那麼執行的狀況就是先執行標籤 a 的onclick事件處理函數,再執行 div 的事件處理函數。若是但願的事件處理函數執行完畢以後,不但願執行上層的 div 的onclick的事件處理函數了,那麼就把cancelBubble設置爲true便可。

js event.keyCode對應的鍵碼:瀏覽器

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 Fless

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_Addssh

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 divisionide

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函數

鍵值對應表
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 0XDpost

若是要使用組合鍵,則能夠利用event.ctrlKey,event.shiftKey,event .altKey判斷是否按下了ctrl鍵、shift鍵以及alt鍵.flex

相關文章
相關標籤/搜索