首頁 >web前端 >js教程 >onkeyup,onkeydown和onkeypress的區別介紹_基礎知識

onkeyup,onkeydown和onkeypress的區別介紹_基礎知識

WBOY
WBOY原創
2016-05-16 17:19:231186瀏覽
msdn上有三者的區別:

名稱 說明

onkeypress

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

onkeyup

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

onkeydown

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

======================
複製程式碼 程式碼如下:


<script> <BR>function checkForm(){ <BR>if(event.keyCode ==13){ <BR>event .keyCode =9; <BR>} <BR>} <BR></script>






html>

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

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

三者在事件的回應上還有一點不同,就是onkeydown 、onkeypress事件回應的時候輸入的字元並沒有被系統接受,而回應onkeyup的時候,輸入流已經被系統接受。由於onkeydown 比onkeypress先執行,再根據上面的例子可以知道,onkeydown 觸發的時候輸入流正要進入系統,也就是說onkeydown 事件一完,輸入流就進入了系統,無法改變。所以透過onkeydown 事件可以改變使用者是按了哪個鍵;而onkeypress事件則是在輸入流進入系統後觸發的,但輸入流暫未被系統處理,此時已經不能改變輸入流了;onkeyup則是輸入流被系統處理後發生的。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn