Vue: @ keydown.tabはShift +タブもキャプチャします

作成日 2017年03月06日  ·  3コメント  ·  ソース: vuejs/vue

@ keydown.tabは、Shift +タブもキャプチャします。 これは予想される動作ですか? バグの場合は再現します。

最も参考になるコメント

これを更新するだけです。2.5.0vueには.exact修飾子があるため、この動作を正確に防ぐことができます。

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

これは、Shift + Tabキーが押されていない場合ではなく、Tabキーが押されている場合にのみ機能します。 詳細については、 https: //vuejs.org/v2/guide/events.html#exact-Modifierを参照して

全てのコメント3件

はい、それは期待されています。 シフトが押されていないことを明示的に確認する必要があります

これを実現するためのソリューションマークアップは次のとおりです。

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

ハンドラー関数内で、 $event調べることにより、 SHIFTが保持されているかどうかを検出できます。

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);
},

これを更新するだけです。2.5.0vueには.exact修飾子があるため、この動作を正確に防ぐことができます。

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

これは、Shift + Tabキーが押されていない場合ではなく、Tabキーが押されている場合にのみ機能します。 詳細については、 https: //vuejs.org/v2/guide/events.html#exact-Modifierを参照して

このページは役に立ちましたか?
0 / 5 - 0 評価