- Full-Stack Vue.js 2 and Laravel 5
- Anthony Gore
- 175字
- 2021-07-02 19:57:23
Event modifiers
Vue makes it easy to listen forspecifickeys by offeringmodifiersto thev-ondirective. Modifiers are postfixes denoted by a dot (.), for example:
<input v-on:keyup.enter="handler">
As you'd probably guess, the.entermodifiertells Vue to only call the handler when the event is triggered by theEnterkey. Modifiers save you from having to remember the specific key code, and also make your template logic more obvious. Vue offers a variety of other key modifiers, including:
- tab
- delete
- space
- esc
With that in mind, it seems like we could close our modal with this directive:
v-on:keyup.esc="modalOpen = false"
But then what tag do we attach this directive to? Unfortunately, unless an input is focused on, key events are dispatched from thebodyelement, which, as we know, is out of Vue's jurisdiction!
To handle this event we'll, once again, resort to the Web API.
app.js:
var app = new Vue({ ... }); document.addEventListener(</span>'keyup', function(evt) { if (evt.keyCode === 27 && app.modalOpen) { app.modalOpen = false; } });
This works, with one caveat (discussed in the next section). But Vue can help us make it perfect.
- 零基礎學Visual C++第3版
- Redis入門指南(第3版)
- 算法零基礎一本通(Python版)
- Learning RxJava
- Kali Linux Wireless Penetration Testing Beginner's Guide(Third Edition)
- Python面向對象編程:構建游戲和GUI
- RESTful Java Web Services(Second Edition)
- Solr Cookbook(Third Edition)
- 軟件供應鏈安全:源代碼缺陷實例剖析
- Kubernetes源碼剖析
- Python Essentials
- Getting Started with Polymer
- Delphi開發典型模塊大全(修訂版)
- Practical Predictive Analytics
- Flink核心技術:源碼剖析與特性開發