È possibile impostare un v-on:keyup.enter
sull'intera pagina, non solo per un elemento di input in javascript framework Vue.js?Come impostare keyup su tutta la pagina in Vue.js
risposta
La risposta breve è sì, ma in base al contesto. Se si utilizza vue-router come sono su un progetto corrente, si vorrà aggiungere all'elemento più esterno a cui si desidera applicare. Nel mio caso sto usando l'elemento div iniziale del punto di ingresso effettivo dell'app.vue.
C'è un problema che ritengo sia un requisito difficile, l'elemento deve essere all'interno degli elementi potenzialmente focalizzabili. Il modo in cui ho a che fare è impostare un tabindex -1 e dichiarare semplicemente i miei super-hotkey (principalmente per scopi di debug in questo momento) sull'elemento padre nella mia app.
<template>
<div
id="app-main"
tabindex="-1"
@keyup.enter="doSomething"
>
<everything-else></everything-else>
</div>
</template>
EDIT:
Come nota a margine, ho anche aggiunto un tocco di ulteriore configurazione alla mia Vue-router per assicurarsi che l'elemento giusto si concentra quando ho transizione pagine. Ciò consente allo scorrimento pagina/paginazione di essere già nella sezione destra in base all'area del contenuto che è l'unica sezione scorrevole. Dovresti anche aggiungere tabindex = "- 1" all'elemento di contenuto dell'app.
router.afterEach(function (transition) {
document.getElementById('app-content').focus();
});
e la base della mia componente app-contenuti:
<template>
<div id="app-content" tabindex="-1">
<router-view
id="app-view"
transition="app-view__transition"
transition-mode="out-in"
></router-view>
</div>
</template>
- 1. Come posso ascoltare l'evento keypress su tutta la pagina?
- 2. Come prendere screenshot di tutta la pagina in Goniometro?
- 3. Aggiornamento di tutta la pagina con Ajax.ActionLink
- 4. Come impostare la prima pagina in UIPageViewController
- 5. CSS nth-of-type in tutta la pagina?
- 6. Chromium: Come ottenere tutta la forma di una pagina caricata
- 7. Mostra tutta la musica su scheda SD
- 8. Determinare se l'elemento esiste in tutta la pagina html
- 9. lattice: evitare che il testo pagina si estende su tutta la pagina con l'opzione "twoside"
- 10. Come impostare un timer con una classe Vue.js
- 11. Come impostare la codifica della pagina meccanize?
- 12. Come nascondere il pannello principale e mostrare un'immagine su tutta la pagina?
- 13. jQuery UI ordinabile: Scorri tutta la pagina e il contenitore
- 14. Come impostare la Pagina Master dinamicamente?
- 15. Django come impostare la pagina principale
- 16. Imposta UIKeyboardAppearance su tutta l'app
- 17. Come eliminare tutta la tabella in MySQL?
- 18. Come impostare la pagina Web predefinita in Umbraco
- 19. Come impostare la pagina corrente "attiva" in php
- 20. Come si usa updatePanel in asp.net senza aggiornare tutta la pagina?
- 21. Come posso creare un postback di Textbox su KeyUp?
- 22. Come rendere il wrapper di tutta altezza della pagina?
- 23. ListBoxItem HorizontalContentAlignment da estendere su tutta la larghezza di ListBox
- 24. jQuery. Su keyup e sfocatura solo onload
- 25. jQuery Cleditor ottiene valore textarea su keyup
- 26. autenticazione basata su form in tutta sottodomini
- 27. Vue.js attiva la classe al clic
- 28. Come impostare una pagina predefinita su un'app MVC?
- 29. Come posso impostare una variabile su una pagina _Layout?
- 30. preventDefault() su evento keyup non funzionante
Questa risposta sembra avere un discreto numero di punti di vista e ancora dovrebbe essere abbastanza rilevante, ma date un'occhiata al seguente link, se si vuoi tasti di scelta rapida completamente basati su finestre completamente globali (circa a metà strada): https://vuejsdevelopers.com/2017/05/01/vue-js-cant-help-head-body/ –