一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務(wù)器之家 - 編程語言 - JavaScript - vue.js - vue監(jiān)聽鍵盤事件的相關(guān)總結(jié)

vue監(jiān)聽鍵盤事件的相關(guān)總結(jié)

2022-01-12 15:25胡九筒 vue.js

這篇文章主要介紹了vue監(jiān)聽鍵盤事件的相關(guān)總結(jié),幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下

按鍵修飾符

在監(jiān)聽鍵盤事件時,我們經(jīng)常需要檢查詳細(xì)的按鍵。Vue 允許為 v-on 在監(jiān)聽鍵盤事件時添加按鍵修飾符:

?
1
2
<!-- 只有在 `key` 是 `Enter` 時調(diào)用 `vm.submit()` -->
<input v-on:keyup.enter="submit">

你可以直接將 KeyboardEvent.key 暴露的任意有效按鍵名轉(zhuǎn)換為 kebab-case 來作為修飾符。

?
1
<input v-on:keyup.page-down="onPageDown">

為了在必要的情況下支持舊瀏覽器,Vue 提供了絕大多數(shù)常用的按鍵碼的別名:

  • - enter 
  • - tab 
  • - delete (捕獲“刪除”和“退格”鍵) 
  • - esc 
  • - space 
  • - up 
  • - down 
  • - left 
  • - right

你還可以通過全局 config.keyCodes 對象自定義按鍵修飾符別名: 

?
1
2
// 可以使用 `v-on:keyup.f1`
Vue.config.keyCodes.f1 = 112

系統(tǒng)修飾鍵

可以用如下修飾符來實現(xiàn)僅在按下相應(yīng)按鍵時才觸發(fā)鼠標(biāo)或鍵盤事件的監(jiān)聽器。 

  • - .ctrl 
  • - .alt 
  • - .shift 
  • - .meta

Do something
與按鍵別名不同的是,修飾鍵和 keyup 事件一起用時,事件引發(fā)時必須按下正常的按鍵。換一種說法:如果要引發(fā) keyup.ctrl,必須按下 ctrl 時釋放其他的按鍵;單單釋放 ctrl 不會引發(fā)事件。

?
1
2
3
4
5
<!-- 按下Alt + 釋放C觸發(fā) -->
<input @keyup.alt.67="clear">
 
<!-- 按下Alt + 釋放任意鍵觸發(fā) -->
<input @keyup.alt="other"><!-- 按下Ctrl + enter時觸發(fā) --><input @keydown.ctrl.13="submit">

對于elementUI的input,我們需要在后面加上.native, 因為elementUI對input進(jìn)行了封裝,原生的事件不起作用。

?
1
2
3
<input v-model="form.name" placeholder="昵稱" @keyup.enter="submit">
 
<el-input v-model="form.name" placeholder="昵稱" @keyup.enter.native="submit"></el-input>

.exact修飾符

.exact 修飾符允許你控制由精確的系統(tǒng)修飾符組合觸發(fā)的事件。 

?
1
2
3
4
5
6
7
8
<!-- 即使 Alt 或 Shift 被一同按下時也會觸發(fā) -->
<button v-on:click.ctrl="onClick">A</button>
 
<!-- 有且只有 Ctrl 被按下的時候才觸發(fā) -->
<button v-on:click.ctrl.exact="onCtrlClick">A</button>
 
<!-- 沒有任何系統(tǒng)修飾符被按下的時候才觸發(fā) -->
<button v-on:click.exact="onClick">A</button>

鼠標(biāo)按鈕修飾符

  • .left 
  • .right 
  • .middle

這些修飾符會限制處理函數(shù)僅響應(yīng)特定的鼠標(biāo)按鈕。 

系統(tǒng)按鍵組合

如果我們要監(jiān)聽全局的按鍵操作方法,顯然,將其綁定在頁面元素上是不行的。

我們可在mounted里面監(jiān)聽:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
mounted() {
  document.onkeydown = function (event) {
    let key = window.event.keyCode;
    if (key === 65 && event.ctrlKey) {
      // 監(jiān)聽ctrl+A組合鍵     
      window.event.preventDefault(); //關(guān)閉瀏覽器默認(rèn)快捷鍵     
      console.log('crtl+ a組合鍵')   
    } else if(key === 83 && event.ctrlKey) {      
      window.event.preventDefault(); //關(guān)閉瀏覽器快捷鍵
      console.log('保存');
    }
  }
}

從以上例子可以看出,shift、Control、Alt 在JS中也可用“window.event.shiftKey”、“window.event.ctrlKey”、“window.event.altKey” 代替。

附錄-鍵盤按鈕keyCode表

vue監(jiān)聽鍵盤事件的相關(guān)總結(jié)

vue監(jiān)聽鍵盤事件的相關(guān)總結(jié)

以上就是vue監(jiān)聽鍵盤事件的相關(guān)總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于vue監(jiān)聽鍵盤事件的資料請關(guān)注服務(wù)器之家其它相關(guān)文章!

原文鏈接:https://juejin.cn/post/6921536009859497991

延伸 · 閱讀

精彩推薦
  • vue.js梳理一下vue中的生命周期

    梳理一下vue中的生命周期

    看過很多人講vue的生命周期,但總是被繞的云里霧里,尤其是自學(xué)的同學(xué),可能js的基礎(chǔ)也不是太牢固,聽起來更是吃力,那我就已個人之淺見,以大白話...

    CRMEB技術(shù)團隊7992021-12-22
  • vue.jsVue2.x-使用防抖以及節(jié)流的示例

    Vue2.x-使用防抖以及節(jié)流的示例

    這篇文章主要介紹了Vue2.x-使用防抖以及節(jié)流的示例,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下...

    Kyara6372022-01-25
  • vue.jsVue中引入svg圖標(biāo)的兩種方式

    Vue中引入svg圖標(biāo)的兩種方式

    這篇文章主要給大家介紹了關(guān)于Vue中引入svg圖標(biāo)的兩種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的...

    十里不故夢10222021-12-31
  • vue.jsVue多選列表組件深入詳解

    Vue多選列表組件深入詳解

    這篇文章主要介紹了Vue多選列表組件深入詳解,這個是vue的基本組件,有需要的同學(xué)可以研究下...

    yukiwu6752022-01-25
  • vue.jsVue2.x 項目性能優(yōu)化之代碼優(yōu)化的實現(xiàn)

    Vue2.x 項目性能優(yōu)化之代碼優(yōu)化的實現(xiàn)

    這篇文章主要介紹了Vue2.x 項目性能優(yōu)化之代碼優(yōu)化的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋...

    優(yōu)小U9632022-02-21
  • vue.jsVue項目中實現(xiàn)帶參跳轉(zhuǎn)功能

    Vue項目中實現(xiàn)帶參跳轉(zhuǎn)功能

    最近做了一個手機端系統(tǒng),其中遇到了父頁面需要攜帶參數(shù)跳轉(zhuǎn)至子頁面的問題,現(xiàn)已解決,下面分享一下實現(xiàn)過程,感興趣的朋友一起看看吧...

    YiluRen丶4302022-03-03
  • vue.js詳解vue 表單綁定與組件

    詳解vue 表單綁定與組件

    這篇文章主要介紹了vue 表單綁定與組件的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下...

    Latteitcjz6432022-02-12
  • vue.js用vite搭建vue3應(yīng)用的實現(xiàn)方法

    用vite搭建vue3應(yīng)用的實現(xiàn)方法

    這篇文章主要介紹了用vite搭建vue3應(yīng)用的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下...

    Asiter7912022-01-22
主站蜘蛛池模板: a亚洲天堂| 日韩欧美精品一区二区 | 高清国产在线 | 国产精品第3页 | 小妇人电影免费完整观看2021 | 欧美bbb人妖 | 太大了轻点阿受不了小说h 四色6677最新永久网站 | 国产精品久久久久影院色老大 | 精品无人区乱码1区2区3区免费 | 亚洲女bbwxxxx另类 | 免费观看欧美一级高清 | 99久久伊人精品波多野结衣 | 99精品国产成人一区二区 | 91在线精品国产 | 逼中极品| 亚洲精品久久久打桩机 | 黑人巨鞭大战白妞10级 | 成人啪啪漫画全文阅读 | 精品久久洲久久久久护士免费 | 亚洲偷窥图区色 | 母性本能在线观看 | 午夜AV内射一区二区三区红桃视 | 操大姨子逼 | 第一国内永久免费福利视频 | 欧美视频在线播放观看免费福利资源 | 肥胖女人一级毛片 | 极品久久| 婷婷综合缴情亚洲五月伊 | 免费一级欧美片片线观看 | 四虎e234hcom | 贰佰麻豆剧果冻传媒一二三区 | 免费视频精品一区二区三区 | 喷潮女王cytherea全部视频 | 跪在老师脚下吃丝袜脚 | 91探花在线观看 | 亚洲精品乱码久久久久久蜜桃 | 图片亚洲va欧美va国产综合 | 亚洲激情婷婷 | 欧美日韩视频一区三区二区 | 色综合久久日韩国产 | 午夜精品久久久久久久99蜜桃 |