首頁 > web前端 > js教程 > 如何使用Vue按鍵修飾符處理事件

如何使用Vue按鍵修飾符處理事件

php中世界最好的语言
發布: 2018-06-01 11:17:16
原創
1572 人瀏覽過

這次帶給大家如何使用Vue按鍵修飾符處理事件,使用Vue按鍵修飾符處理事件的注意事項有哪些,下面就是實戰案例,一起來看一下。

按鍵修飾符

在PC 端開發時, 我們常常會遇到類似的需求, 例如用戶按下enter 鍵時提交表單, 沒有用按鍵修飾符時, 我們可能會去監聽鍵盤事件, 根據keyCode 的值加以判斷

Vue 添加按鍵修飾符和系統修飾符來處理類似事件

/** 提交表单 */
<template>
  <p class="demo">
    电话号码:
    <input type="text" placeholder="请输入电话号码" v-model="phone" @keyup.13="handleSubmit" />
  </p>
</template>
<script>
export default {
  data () {
    return {
      phone: '' // 电话号码
    }
  },
  methods: {
    // TODO 提交电话号码
    handleSubmit () { alert(this.phone) }
  }
}
</script>
登入後複製

要記住所有的keyCode值比較困難, 所以Vue 為常用的按鍵提供了別名

<input type="text" placeholder="请输入电话号码" v-model="phone" @keyup.enter="handleSubmit" />
登入後複製

常見按鈕別名

enter tab delete esc space up down left right

如果這些別名不能滿足需要的話, 可以透過全域config.keyCodes 物件自訂按鍵修飾符別名

Vue.config.keyCodes.x = 88

你也可以將keyboardEvent.key 暴露的按鍵名轉換為kebab-case 來作為修飾符, 以下兩種修飾符都能觸發handleSubmit 事件

<input type="text" placeholder="请输入电话号码" v-model="phone" @keyup.right="handleSubmit" />
<input type="text" placeholder="请输入电话号码" v-model="phone" @keyup.arrow-right="handleSubmit" />
登入後複製

系統修飾鍵

有時候我們需要配合系統修飾鍵共同觸發事件, 這裡要注意的是, 單獨按下系統修飾鍵是不會觸發對應事件的

#系統修飾鍵包含ctrl alt shift meta 鍵, 對於不同的鍵盤, 這四個系統修飾鍵對應各有不同, 對於mac 系統鍵盤, meta 鍵對應command 鍵, 在windows 系統鍵盤中對應⊞ 鍵

在下面的例子中, 當control 和v 鍵共同作用時, 才會觸發handleSubmit 事件

<input type="text" placeholder="请输入电话号码" v-model="phone" @keyup.ctrl.v="handleSubmit"/>
登入後複製

有時候我們需要精確匹配到按鍵組合時才觸發相應事件, 在下面的例子中, 當且僅當control 和v 鍵共同作用時, 才會觸發handleSubmit 事件

<input type="text" placeholder="请输入电话号码" v-model="phone" @keyup.ctrl.v.exact="handleSubmit"/>
登入後複製

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

怎麼使用源生JS程式碼實作百度搜尋框

jQuery.i18n實作前端國際化有哪些方法

以上是如何使用Vue按鍵修飾符處理事件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板