Vue: @keydown.tab 也捕获 shift + tab

创建于 2017-03-06  ·  3评论  ·  资料来源: vuejs/vue

@keydown.tab 也捕获 shift + tab。 这是预期的行为吗? 如果它是一个错误,我会做一个repro。

最有用的评论

只是为了更新这一点,因为 2.5.0 vue 有 .exact 修饰符,可以防止这种行为:

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

这仅在按下 Tab 时有效,而在按下 shift + Tab 时无效。 有关更多信息,请参阅https://vuejs.org/v2/guide/events.html#exact -Modifier。

所有3条评论

是的,这是预期的。 您应该明确检查没有按下 shift

这是完成此操作的解决方案标记:

<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.0 vue 有 .exact 修饰符,可以防止这种行为:

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

这仅在按下 Tab 时有效,而在按下 shift + Tab 时无效。 有关更多信息,请参阅https://vuejs.org/v2/guide/events.html#exact -Modifier。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

robertleeplummerjr picture robertleeplummerjr  ·  3评论

franciscolourenco picture franciscolourenco  ·  3评论

hiendv picture hiendv  ·  3评论

lmnsg picture lmnsg  ·  3评论

paceband picture paceband  ·  3评论