DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> onkeyup,onkeydown和onkeypress的區別介紹
onkeyup,onkeydown和onkeypress的區別介紹
編輯:JavaScript基礎知識     
msdn上有三者的區別:

名稱 說明

onkeypress

這個事件在用戶按下並放開任何字母數字鍵時發生。系統按鈕(例如,箭頭鍵和功能鍵)無法得到識別。

onkeyup

這個事件在用戶放開任何先前按下的鍵盤鍵時發生。

onkeydown

這個事件在用戶按下任何鍵盤鍵(包括系統按鈕,如箭頭鍵和功能鍵)時發生。

======================
復制代碼 代碼如下:
<html>
<script>
function checkForm(){
if(event.keyCode ==13){
event.keyCode =9;
}
}
</script>
<body>
<form name ="form1">
<input type="text" name = "text1" onkeydown = "checkForm()">
<input type="button" name = "button1" value="按鈕">
</form>
</body>
</html>

當按下回車時,焦點從文本框移到按鈕上。如果把它換成“onkeypress”,焦點不會轉移,也不會失去。但是如果換成“onkeyup”,則失去焦點,頁面重新載入。

測試發現onkeydown 事件最先執行,其次是onkeypress,最後是onkeyup;onkeydown 和onkeypress會影響onkeyup的執行。三個事件同事在的話,都是alert的話,只會彈出2個alert,up事件的alert不會彈出。

三者在事件的響應上還有一點不同,就是onkeydown 、onkeypress事件響應的時候輸入的字符並沒有被系統接受,而響應onkeyup的時候,輸入流已經被系統接受。由於onkeydown 比onkeypress先執行,再根據上面的例子可以知道,onkeydown 觸發的時候輸入流正要進入系統,也就是說onkeydown 事件一完,輸入流就進入了系統,無法改變。所以通過onkeydown 事件可以改變用戶是按了哪個鍵;而onkeypress事件則是在輸入流進入系統後觸發的,但輸入流暫未被系統處理,此時已經不能改變輸入流了;onkeyup則是輸入流被系統處理後發生的。
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved