JavaScript 監(jiān)聽組合按鍵思路及代碼實(shí)現(xiàn)
JavaScript監(jiān)聽組合按鍵
1. 思路

如圖,通過監(jiān)聽并打印鍵盤keydown事件,得到圖示內(nèi)容,觀察發(fā)現(xiàn),
當(dāng)按下的組合鍵包含Ctrl鍵時(shí),ctrlKey鍵會(huì)顯示為true;
當(dāng)按下的組合鍵包含Shift鍵、或者按鍵之前開啟大寫時(shí),shiftkey鍵會(huì)顯示為true;
當(dāng)按下的組合鍵包含Alt鍵時(shí),altKey鍵會(huì)顯示為true;
當(dāng)按下的組合鍵包含meta鍵(Mac電腦上 是 【⌘】、command鍵,非mac電腦為 是win鍵時(shí),metaKey鍵會(huì)顯示為true
另外,按下鍵時(shí),可通過event獲取對(duì)應(yīng)鍵的ascii碼,結(jié)合這些信息就可以對(duì)按鍵進(jìn)行判斷了
2. 代碼實(shí)例
// 按下鍵盤事件處理函數(shù)
onKeyDown(event) {
const keyCode = event.keyCode || event.which || event.charCode; // 有些瀏覽器除了通過keyCode獲取輸入鍵code,還可以通過which,charCode獲取,這么寫是出于瀏覽器兼容性考慮
const keyCombination = event.ctrlKey ;
if (keyCombination && keyCode == 75) {
console.log("按下了Ctrl + k鍵");
}
}
到此這篇關(guān)于JavaScript 監(jiān)聽組合按鍵思路及代碼實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)JavaScript 監(jiān)聽組合按鍵內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- JS如何監(jiān)聽div的resize事件詳解
- JavaScript如何實(shí)現(xiàn)監(jiān)聽鍵盤輸入和鼠標(biāo)監(jiān)點(diǎn)擊
- NodeJS多種創(chuàng)建WebSocket監(jiān)聽的方式(三種)
- js實(shí)現(xiàn)無(wú)刷新監(jiān)聽URL的變化示例代碼詳解
- JavaScript監(jiān)聽鍵盤事件代碼實(shí)現(xiàn)
- 使用JS監(jiān)聽鍵盤按下事件(keydown event)
- js 實(shí)現(xiàn)watch監(jiān)聽數(shù)據(jù)變化的代碼
- javascript事件監(jiān)聽與事件委托實(shí)例詳解
- 如何用JS實(shí)現(xiàn)簡(jiǎn)單的數(shù)據(jù)監(jiān)聽
相關(guān)文章
一文帶你掌握掌握J(rèn)avaScript中不同屬性類型的細(xì)節(jié)
JavaScript是一種功能強(qiáng)大的編程語(yǔ)言,支持面向?qū)ο蟮木幊谭妒?,本文將介紹JavaScript中面向?qū)ο缶幊痰幕靖拍?,包括?duì)象、屬性類型、定義多個(gè)屬性和讀取屬性的特性2023-06-06
HTML中Select不用Disabled實(shí)現(xiàn)ReadOnly的效果
Disabled ReadOnly之家的聯(lián)系2008-04-04
兼容FireFox 用javascript寫的一個(gè)畫圖函數(shù)
兼容FireFox 用javascript寫的一個(gè)畫圖函數(shù)...2007-08-08
微信小程序中多個(gè)頁(yè)面?zhèn)鲄⑼ㄐ诺膶W(xué)習(xí)與實(shí)踐
剛接觸微信小程序,對(duì)里面的語(yǔ)法和屬性還不怎么了解,最近正在努力學(xué)習(xí)中,下面這篇文章主要給大家介紹了微信小程序中多個(gè)頁(yè)面?zhèn)鲄⑼ㄐ诺南嚓P(guān)資料,是最近學(xué)習(xí)的一個(gè)內(nèi)容總結(jié),需要的朋友可以參考借鑒,下面來一起看看吧。2017-05-05
JavaScript實(shí)現(xiàn)簡(jiǎn)易QQ聊天界面
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡(jiǎn)易QQ聊天界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
關(guān)于BootstrapTable 導(dǎo)出數(shù)據(jù)的問題最終解決方案
這篇文章主要介紹了BootstrapTable 導(dǎo)出數(shù)據(jù)的問題,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
js實(shí)現(xiàn)數(shù)組內(nèi)數(shù)據(jù)的上移和下移的實(shí)例
下面小編就為大家?guī)硪黄猨s實(shí)現(xiàn)數(shù)組內(nèi)數(shù)據(jù)的上移和下移的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11

