最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js鍵盤事件keydown事件、防止重復(fù)觸發(fā)以及組合鍵的配合使用

 更新時間:2024年04月18日 10:11:36   作者:勇敢*牛牛  
這篇文章主要給大家介紹了關(guān)于js鍵盤事件keydown事件、防止重復(fù)觸發(fā)以及組合鍵配合使用的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價值,需要的朋友可以參考下

js鍵盤事件keydown事件,防止重復(fù)觸發(fā)

鍵盤事件類型主要有三種: keydown 、keypress(不建議使用,部分瀏覽器已放棄)和 keyup 。

添加普通鍵盤keydown事件

// 監(jiān)聽鍵盤按下事件
  document.addEventListener('keydown', function(event) {
    // 輸出按下的鍵的鍵碼
    console.log('Key pressed:', event.key, 'Key code:', event.keyCode);
  });

但是此事件會如果不釋放按鍵就會重復(fù)觸發(fā),如何阻止呢?

阻止keydown事件重復(fù)觸發(fā)

①使用一個標(biāo)志變量來跟蹤按鍵的狀態(tài)

let keyDownFlag = false;

  // 監(jiān)聽鍵盤按下事件
  document.addEventListener('keydown', function(event) {
    if (!keyDownFlag) {
      keyDownFlag = true;
      console.log('Key pressed:', event.key, 'Key code:', event.keyCode);
    }
  });

  // 監(jiān)聽鍵盤釋放事件
  document.addEventListener('keyup', function() {
    keyDownFlag = false;
  });

②通過事件自帶的屬性判斷

repeat 屬性可以用于判斷鍵盤事件是否是由按鍵保持按下而持續(xù)觸發(fā)的。

// 監(jiān)聽鍵盤按下事件
  document.addEventListener('keydown', function(event) {
    if (!event.repeat) {
      console.log('Key pressed:', event.key, 'Key code:', event.keyCode);
    }

在這個例子中,event.repeat 屬性被用于檢查是否是由按鍵保持按下而觸發(fā)的事件。如果 event.repeat 為 false,則表示這是一個新的按鍵事件,而不是持續(xù)觸發(fā)的事件。

組件鍵的配合使用

組件鍵一般就是就是通過keydown事件來觸發(fā)

document.onkeydown = function (oEvent) {
    console.log(oEvent);
}

可以看到event對象中返回很多信息,其中keycode屬性中包含一份代碼,是鍵盤上對應(yīng)的ASCII碼,type是觸發(fā)事件的類型等等…

這里我們有幾個屬性是我們用的到的,就是altkey屬性和ctrlkey屬性還有shiftkey。它們代表著鍵盤上的alt、ctrl、shift鍵對于事件觸發(fā)的判斷。當(dāng)事件由這幾個鍵觸發(fā)時,它們的值會變成true.

那我可以通過上邊的內(nèi)容結(jié)合這幾個屬性來監(jiān)聽鍵盤事件。

  • 比如要監(jiān)聽ctrl + s的組合事件
document.onkeydown = functionb(oEvent) {
  var oEvent = oEvent || window.oEvent; 
  //獲取鍵盤的keyCode值
  var nKeyCode = oEvent.keyCode || oEvent.which || oEvent.charCode;
  //獲取ctrl 鍵對應(yīng)的事件屬性
  var bCtrlKeyCode = oEvent.ctrlKey || oEvent.metaKey;
   if( oEvent.nKeyCode == 83 && bCtrlKeyCode  ) {
      alert('save');
       //doSomeThing...
   }
}
  • 比如要監(jiān)聽Alt+ q的組合事件
document.onkeydown = functionb(e) {
	if(e.altKey && e.keyCode == 81){
	      if(e.repeat){
	        return 
	      }
	      //todo somethink
    }
}

雖然mac電腦操作有別于普通win電腦,但并不代表沒有alt鍵。 在mac電腦找到alt鍵并不難,鍵盤左下角的option鍵其實就是蘋果的alt鍵,旁邊的control鍵對應(yīng)pc電腦的ctrl鍵,command鍵對應(yīng)是win鍵,

附:判斷按的按鍵是否為ctrl、shift、alt

console.log(ev.ctrlKey);
console.log(ev.shiftKey);
console.log(ev.altKey);

總結(jié)

到此這篇關(guān)于js鍵盤事件keydown事件、防止重復(fù)觸發(fā)以及組合鍵的配合使用的文章就介紹到這了,更多相關(guān)js keydown事件防止重復(fù)觸發(fā)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 利用JavaScript制作一個搞怪的兔子動畫效果

    利用JavaScript制作一個搞怪的兔子動畫效果

    又是一年新春之際,祝福大家兔年快樂!給大家介紹一個有趣的動效(兼容?IE),頁面右下角有一只搞怪的兔子,鼠標(biāo)在頁面中懸停時,兔子會跟著做出不同的動作和表情,感興趣的小伙伴可以了解一下
    2023-01-01
  • 小程序自定義單頁面、全局導(dǎo)航欄的實現(xiàn)代碼

    小程序自定義單頁面、全局導(dǎo)航欄的實現(xiàn)代碼

    這篇文章主要介紹了小程序自定義單頁面、全局導(dǎo)航欄的實現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • Textarea根據(jù)內(nèi)容自適應(yīng)高度

    Textarea根據(jù)內(nèi)容自適應(yīng)高度

    使用JAVASCRIPT控制Textarea內(nèi)容自適應(yīng)高度,實施起來很簡單,很平滑。
    2013-10-10
  • 微信小程序合法域名配置方法

    微信小程序合法域名配置方法

    這篇文章主要介紹了微信小程序合法域名配置,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • JavaScript防抖案例講解

    JavaScript防抖案例講解

    這篇文章主要介紹了JavaScript防抖案例講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • JS字符串轉(zhuǎn)換為數(shù)組的4 個方法示例小結(jié)

    JS字符串轉(zhuǎn)換為數(shù)組的4 個方法示例小結(jié)

    這篇文章主要介紹了JS字符串轉(zhuǎn)換為數(shù)組的4 個方法示例小結(jié),本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-12-12
  • 微信小程序web-view環(huán)境下H5跳轉(zhuǎn)小程序頁面方法實例代碼

    微信小程序web-view環(huán)境下H5跳轉(zhuǎn)小程序頁面方法實例代碼

    微信小程序是一種全新的連接用戶與服務(wù)的方式,它可以在微信內(nèi)被便捷地獲取和傳播,同時具有出色的使用體驗,下面這篇文章主要給大家介紹了關(guān)于微信小程序web-view環(huán)境下H5跳轉(zhuǎn)小程序頁面方法的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • 微信小程序商城項目之側(cè)欄分類效果(1)

    微信小程序商城項目之側(cè)欄分類效果(1)

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崙?zhàn)商城系列之側(cè)欄分類效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • js中常用的Math方法總結(jié)

    js中常用的Math方法總結(jié)

    本文主要介紹了js中常用的Math方法,具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • js判斷undefined變量類型使用typeof

    js判斷undefined變量類型使用typeof

    js判斷undefined變量類型使用typeof可以輕松實現(xiàn),不了解的朋友可以參考下哈,希望對你有所幫助
    2013-06-06

最新評論

阳西县| 蓝山县| 崇义县| 临沭县| 靖西县| 隆子县| 光山县| 华池县| 宜兰市| 陆良县| 久治县| 阳新县| 垦利县| 于都县| 保靖县| 南和县| 扶余县| 寿光市| 宜黄县| 德安县| 无为县| 乌兰浩特市| 莒南县| 孟连| 怀柔区| 当涂县| 顺义区| 外汇| 乃东县| 峡江县| 涞源县| 刚察县| 金昌市| 洛川县| 布拖县| 谷城县| 淳安县| 广西| 台江县| 杭锦后旗| 安宁市|