javascript
JavaScript绑定键盘事件的多种写法
使用JavaScript來綁定鍵盤事件時,有多種寫法,而他們的實現(xiàn)效果實際上是等價的,下面一一來列舉。
方式一:
function keyboard() {document.onkeydown = function() {let keycode = event.keyCode;if (keycode == 32) {alert("空格鍵被按下了");}} } keyboard();隨后我們執(zhí)行這個函數(shù),就可以實現(xiàn)鍵盤事件綁定。
代碼中的event是一個對象,如果你打印event的話,會返回[object KeyboardEvent]。
在事件發(fā)生時,瀏覽器會創(chuàng)建一個event對象,所有相關(guān)信息會收集并存儲在該對象中。這些對象包含一些基本信息,比如導(dǎo)致事件的元素、發(fā)生的事件類型,以及可能與特定事件相關(guān)的任何其他數(shù)據(jù)。
在DOM合規(guī)的瀏覽器中,event對象是傳給事件處理程序的唯一參數(shù)。不管以哪種方式指定事件處理程序,都會傳入這個event對象。
event對象的keyCode屬性會保存一個鍵碼,對應(yīng)鍵盤上特定一個鍵。方式一種的32,對應(yīng)就是鍵盤中的空格鍵。
document.onkeydown來對用戶敲擊鍵盤事件進(jìn)行監(jiān)聽,它需要綁定一個具體執(zhí)行函數(shù)。比如方式一中的function函數(shù),當(dāng)鍵盤被按下時進(jìn)行具體執(zhí)行。但是代碼這樣寫,理解起來不太直觀,我們使用方式二來實現(xiàn)一下同樣的功能。
方式二:
function keyboard(event) {let keycode = event.keyCode;if (keycode == 32) {alert("空格鍵被按下了")} }//參數(shù)1:表示事件,keydown:鍵盤向下按;參數(shù)2:表示觸發(fā)的事件處理函數(shù) document.addEventListener("keydown", keyboard);方式二實現(xiàn)的功能和方式一完全一樣,但寫成事件監(jiān)聽的方式理解起來要更為容易。
參考資料
[1] 《JavaScript高級程序設(shè)計(第四版)》
[2] 瀏覽器事件簡介
[3] onkeydown 事件
總結(jié)
以上是生活随笔為你收集整理的JavaScript绑定键盘事件的多种写法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Boot配置IDEA无法创
- 下一篇: 一劳永逸解决npm安装速度慢的问题