Vue: @ keydown.tab captura shift + tab también

Creado en 6 mar. 2017  ·  3Comentarios  ·  Fuente: vuejs/vue

@ keydown.tab captura shift + tab también. ¿Es este el comportamiento esperado? Si es un error, haré una reproducción.

Comentario más útil

Solo para actualizar esto, ya que 2.5.0 vue tiene el modificador .exact, que previene exactamente este comportamiento:

@keydown.tab.exact="dostuff()"

Esto solo funcionará cuando se presione la pestaña, no cuando se presione shift + tab. Consulte https://vuejs.org/v2/guide/events.html#exact -Modifier para obtener más información.

Todos 3 comentarios

Sí, se espera. Debe verificar explícitamente que no se presiona shift

Aquí está el marcado de la solución para lograr esto:

<your-element @keydown.tab="handleTabPress(someData, $event)"></your-element>

Dentro de la función del controlador, puede detectar si se mantiene SHIFT examinando $event :

handleTabPress(someData, e) {
    // if SHIFT key is held to navigate backwards, exit through this gate
    if (e.shiftKey) {
        console.log('halting event due to SHIFT+TAB');
        return;
    }

    // otherwise, execute normal logic
    console.log('tab was pressed', someData);
},

Solo para actualizar esto, ya que 2.5.0 vue tiene el modificador .exact, que previene exactamente este comportamiento:

@keydown.tab.exact="dostuff()"

Esto solo funcionará cuando se presione la pestaña, no cuando se presione shift + tab. Consulte https://vuejs.org/v2/guide/events.html#exact -Modifier para obtener más información.

¿Fue útil esta página
0 / 5 - 0 calificaciones