首頁 >web前端 >前端問答 >javascript有幾種鍵盤事件

javascript有幾種鍵盤事件

青灯夜游
青灯夜游原創
2022-02-17 18:15:043674瀏覽

javascript有3種鍵盤事件:1、keydown事件,在鍵盤上按下某個鍵時觸發;2、keypress事件,按下某個鍵盤鍵並釋放時觸發;3、keyup事件,釋放某個鍵盤鍵時觸發。

javascript有幾種鍵盤事件

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

在 JavaScript 中,當使用者操作鍵盤時,會觸發鍵盤事件。

鍵盤事件主要包括下面3 種類型:

  • #keydown:在鍵盤上按下某個鍵時觸發。如果按住某個按鍵,會不斷觸發該事件,但是 Opera 瀏覽器不支援這種連續操作。當事件處理函數傳回 false 時,會取消預設的動作(如輸入的鍵盤字符,在 IE 和 Safari 瀏覽器下也會禁止keypress 事件回應)。

  • keypress:按下某個鍵盤鍵並釋放時觸發。如果按住某個鍵,會不斷觸發該事件。此事件處理函數傳回 false 時,會取消預設的動作(如輸入的鍵盤字元)。

  • keyup:釋放某個鍵盤鍵時觸發。該事件僅在鬆開鍵盤時觸發一次,不是一個持續的響應狀態。

當取得使用者正按下鍵碼時,可以使用 keydown、keypress 和 keyup 事件來取得這些資訊。其中 keydown 和 keypress 事件基本上是同義事件,它們的表現也完全一致,不過有些瀏覽器不允許使用 keypress 事件取得按鍵資訊。所有元素都支援鍵盤事件,但鍵盤事件多被應用在表單輸入中。

範例

下方範例即時擷取鍵盤操作的各種細節,即鍵盤回應事件類型及對應的鍵值。

<textarea id="key"></textarea>
<script>
    var key = document.getElementById("key");
    key.onkeydown =f;  //注册keydown事件处理函数
    key.onkeyup = f;  //注册keyup事件处理函数
    key.onkeypress = f;  //注册keypress事件处理函数
    function f (e) {
        var e = e || window.event;  //标准化事件处理
        var s = e.type + " " + e.keyCode;  //获取键盘事件类型和按下的值
        key.value = s;
    }
</script>

鍵盤事件屬性

鍵盤定義了許多屬性,如下表所示。利用這些屬性可以精確控制鍵盤操作。鍵盤事件屬性一般只在鍵盤相關事件發生時才會存在於事件物件中,但 ctrlKey 和 shiftKey 屬性除外,因為它們可以在水保事件中存在。例如,當按下 Ctrl 或Shift 鍵時按一下滑鼠操作。

鍵盤事件定義的屬性
屬性 #說明
keyCode 此屬性包含鍵盤中對應鍵位的鍵值
charCode #此屬性包含鍵盤中對應鍵位的Unicode 編碼,僅DOM 支援
target 發生事件的節點(包含元素),僅DOM 支援
srcElement 發生事件的元素,僅IE 支援
shiftKey 是否按下Shift 鍵,如果按下返回true,否則為false

###### ##ctrlKey######是否按下Ctrl 鍵,如果按下回傳true,否則為false############altKey#######是否按下Alt 鍵,如果按下回傳true,否則為false############metaKey######是否按下Mtea 鍵,如果按下回傳true,否則為false,僅DOM 支援#### ###########【相關推薦:###javascript學習教學######】######

以上是javascript有幾種鍵盤事件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn