鍵盤事件處理所有使用者在鍵盤敲擊的情況,不管在文字輸入區域內部還是外部。鍵盤事件在不同的瀏覽器中作用的範圍是不一樣的,通常這種鍵盤事件可以作用於 Form元素,a標籤元素,window ,document這樣的元素上。在所有可以獲得交點的元素上是可以觸發鍵盤事件的,可以獲得焦點的元素可以這樣理解,在使用Tab鍵的時候可以跳躍到的元素就是可以使用鍵盤事件的元(在沒有為這些元素設置tabindex屬性值的情況下,當tabindex設定為負數的時候,在使用Tab鍵的時候就不會獲得焦點)。
鍵盤事件可以傳遞一個參數event,其實所有的jQuery事件都可以傳遞這麼一個參數,這個event是一個對象,其包括一些屬性,在觸發事件的時候可以透過event來獲得一些關於事件的值,例如在使用鍵盤的時候可以使用event.keyCode來獲得所按下鍵的ASCII碼的值。見下文
1:keydown()事件是鍵盤點擊時觸發的第一個鍵盤事件,如果使用者繼續按住鍵位,keydown事件會持續進行。
透過鍵盤回傳的值可以實現更多的關於這些元素的控制,比如說上下左右鍵,分別是:38,40,37,39 。
2:keypress()事件和keydown是差不多的,只有一個例外,如果需要阻止按鍵的預設行為,你必須是喲就keypress事件。
3:keyup()事件是最後一個發生的事件(在keydown事件之後),不想keydown事件,該事件在鬆開鍵盤是僅觸發一次(因為鬆開鍵盤並不是一個持續的狀態)。
4:在jQuery中keydown,keypress,keyup事件是依照一定的順序執行的。
程式碼如下:
複製程式碼
keydown()
keydown事件會在鍵盤按下時觸發,可以在綁定的函數中歐能夠返回false來防止觸發瀏覽器的預設事件.
keyup()
keyup事件會在按鍵釋放時觸發,也就是你按下鍵盤起來後的事件
keypress()
keypress事件會在敲擊按鍵時觸發,我們可以理解為按下並抬起同一個按鍵
我們要怎麼取得我按下的是A還是Z還是回車按鈕呢?
鍵盤事件可以傳遞一個參數event,其實說有的jQuery事件函數中都可以傳遞這麼一個參數
上面程式碼中的,event.keyCode就可以幫助我們取得到我們按下了什麼按鍵,他回傳的是ascII碼,比如說上下左右鍵,分別是38,40,37,39
如果我們要實作ctrl Enter就是ctrl 回車提交表單
其它參考資訊:
預備知識
1.數字0鍵值48..數字9鍵值57
2.a鍵值97..z鍵值122;A鍵值65..Z鍵值90
3.鍵值43;-鍵值45;.鍵值46;退格8;tab鍵值9;
4.event在ie中是全域的,在firefox是臨時對象,需要傳遞參數