Vue_按鍵修飾符



Vue中文文檔_按鍵修飾符

常用的按鍵碼的別名

  • .enter
  • .tab
  • .delete
  • .esc
  • .space
  • .up
  • .down
  • .left
  • .right

有一些按鍵 (.esc 以及所有的方向鍵) 在 IE9 中有不同的 key 值, 如果你想支持 IE9,這些內置的別名應該是首選。

##自定義按鍵修飾符 - 你還可以通過全局 config.keyCodes 對象自定義按鍵修飾符別名:
// 可以使用 `v-on:keyup.f1`
Vue.config.keyCodes.f1 = 112

系統修飾鍵

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

注意:在 Mac 系統鍵盤上,meta 對應 command 鍵 (⌘)。在 Windows 系統鍵盤 meta 對應 Windows 徽標鍵 (⊞)。在 Sun 操作系統鍵盤上,meta 對應實心寶石鍵 (◆)。在其他特定鍵盤上,尤其在 MIT 和 Lisp 機器的鍵盤、以及其后繼產品,比如 Knight 鍵盤、space-cadet 鍵盤,meta 被標記為“META”。在 Symbolics 鍵盤上,meta 被標記為“META”或者“Meta”。

<!-- Alt + C -->
<input @keyup.alt.67="clear">

<!-- Ctrl + Click -->
<div @click.ctrl="doSomething">Do something</div>

請注意修飾鍵與常規按鍵不同,在和 keyup 事件一起用時,事件觸發時修飾鍵必須處於按下狀態。換句話說,只有在按住 ctrl 的情況下釋放其它按鍵,才能觸發 keyup.ctrl。而單單釋放 ctrl 也不會觸發事件。如果你想要這樣的行為,請為 ctrl 換用 keyCode:keyup.17。

.exact修飾符

.exact 修飾符允許你控制由精確的系統修飾符組合觸發的事件。

<!-- 即使 Alt 或 Shift 被一同按下時也會觸發 -->
<button @click.ctrl="onClick">A</button>

<!-- 有且只有 Ctrl 被按下的時候才觸發 -->
<button @click.ctrl.exact="onCtrlClick">A</button>

<!-- 沒有任何系統修飾符被按下的時候才觸發 -->
<button @click.exact="onClick">A</button>

鼠標按鈕修飾符

  • .left
  • .right
  • .middle

總結

  • 通過代碼 @keyup.enter 之類的代碼可以完成對鍵盤事件的事件處理。
  • 通過代碼 config.keyCodes自定義按鍵修飾符別名(注意自定義的是按鍵修飾符的別名而不是鍵碼,鍵碼是固定不變的例如enter對應13,f2對應113,但是可以對鍵碼添加名稱用於調用)
Vue.config.keyCodes.f2=113;
//對113鍵碼(對應f2按鍵)添加別名f2,這樣就可以直接調用f2而不是通過鍵碼才能調用
//@keyup.f2在不設置之前是無效的。
@keyup.f2="doSomething";
//在按下f2時觸發對應的事件處理函數
  • 通過代碼 @keyup.alt.113 可以為鍵盤事件"同時按下'alt'+'f2'鍵"添加事件處理程序
  • 通過代碼 @click.ctrl可以為事件"鼠標左鍵+ctrl"添加事件處理程序(此時如果ctrl和其它按鍵一同按下也會觸發,因此並不嚴謹)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM