鍵盤事件的區別

2021-07-10 16:20:36 字數 1835 閱讀 3830

keypress keydown keyup 區別

keypress主要用來接收字母、數字等ansi字元,

而 keydown 和 keyup 事件過程可以處理任何

不被 keypress 識別的擊鍵,諸如:功能鍵(

f1-f12)、編輯鍵、定位鍵以及任何這些鍵

和鍵盤換檔鍵的組合等。與 keydown 和

keyup 事件不同的是,keypress 不顯示

鍵盤的物理狀態(shift鍵),而只是傳

遞乙個字元。keypress 將每個字元的大、

小寫形式作為不同的鍵**解釋,即作為兩種

不同的字元。而 keydown 和 keyup 用兩種

引數解釋每個字元的大寫形式和小寫形式:

keycode — 顯示物理的鍵(將 a 和 a 作為

同乙個鍵返回)和 shift —指示 shift + key

鍵的狀態而且返回 a 或 a 其中之一。

keydown、keyup事件是當按下 ( keydown )

或鬆開 ( keyup ) 乙個鍵時發生的。

由於一般按下鍵盤的鍵往往會立即放開

(這和滑鼠不同),所以這兩個事件使用哪個差別不大。

keydown 從表現上來看是按下任意鍵,

按的字元,如果是文字框的話還沒有

顯示到文字框之前就產生的事件。

keyup 就是在鬆開按鍵時發生,

此時字元已經輸入到文字框

keypress 整個按鍵動作完成之後,只響

應字元,對ctrl,alt等等這些控制鍵沒有響應。

本貼來自zdnetchina中文社群

雖然從字面理解, keydown是按下乙個鍵的意思,

但實際上二者的根本區別是, 系統由keydown

返回鍵盤的**, 然後由translatemessage函式

翻譯成成字元, 由keypress返回字元值.

因此在keydown中返回的是鍵盤的**,

而keypress返回的是ascii字元. 所以根據你

的目的, 如果只想讀取字元, 用keypress,

如果想讀各鍵的狀態, 用keydown.

說keydown是按下, keypress是按下並鬆開,

是不對的. 如果你一直按著鍵呢? 這時不斷地

產生keydown和keypress.

當你按下乙個鍵時(還沒鬆開),就會觸發keydown

事件;當你鬆開後,又觸發了keypress事件。

即是說keydown只要按下乙個鍵就會觸發,而keypress

要按下並鬆開後才會觸發

keydown、keyup 事件

這些事件是當乙個物件具有焦點時按下 ( keydown )

或鬆開 ( keyup ) 乙個鍵時發生的。

(要解釋 ansi 字元,應使用 keypress 事件。)

keypress 事件

此事件當使用者按下和鬆開乙個 ansi 鍵時發生。

具有焦點的物件接收該事件。乙個窗體僅在它

沒有可視和有效的控制項或 keypreview 屬性被設定為

true 時才能接收該事件。乙個 keypress 事件可以

引用任何可列印的鍵盤字元,乙個來自標準字母

表的字元或少數幾個特殊字元之一的字元與 ctrl

鍵的組合,以及 enter 或 backspace 鍵。

keypress 事件過程在擷取 textbox 或

combobox 控制項所輸入的擊鍵時是非常有用的。

它可立即測試擊鍵的有效性或在字元輸入時對

其進行格式處理。改變 keyascii

引數的值會改變所顯示的字元

js鍵盤事件以及鍵盤事件攔截

寫乙個舉例其他都類似 比如ctrl c window.onkeydown function e 一般簡寫 window.onkeydown function e 資源搜尋 大全 廣州vi設計公司 比如攔截ctrl h事件 window.onkeydown function e script 但是有些...

事件型別 鍵盤事件

目錄 一 事件分類 二 事件物件 三 事件應用 鍵盤事件有三個,按觸發順序,其一keydown,其二keypress,其三keyup。keydown按下任意鍵時觸發,若按住不放,會重複觸發該事件 觸發操作之間有500ms延遲 事件偵聽器的繫結元素必須有焦點才能正常偵聽事件。keypress鍵盤上的按...

DOM 事件(鍵盤事件)

onkeydown 事件會在使用者按下乙個鍵盤按鍵時發生。onkeydown onkeypress onkeyup onkeydown事件在很多小遊戲上應用較多,比如需要控制上下左右的很多遊戲,如2048,貪吃蛇,俄羅斯方塊等等。keydown function bind this 然後就可以通過鍵...