javascript - vue.js 应用程序的可访问性 - 单击 Tab 键时显示 div
问题描述
我将创建一个带有可访问性跳转标记的菜单,该菜单仅在单击键盘上的 Tab 键时可见。如何在 Vuetify 中实现这一点?有没有办法为此使用@click之类的东西?这是我的菜单的 html 代码:
<template>
<div class="m-block-tab-jump-sections" data-module="tab-jump-sections" v-on:click.tab="onClick">
<div class="jump-sections js-sections h-break-in">
<a href="#tab-jump-section--metamenu" class="jump-link" title="" target="" tabindex="50">
zur Top-Navigation
</a>
</div>
</div>
</template>
解决方案
为了捕获整个页面上的选项卡,您可能需要查看将以下内容放在 app 元素上:
v-on:keydown.tab='handleTab'
现在您可以在处理程序中打开菜单或执行其他操作。
new Vue({
el: '#app',
vuetify: new Vuetify(),
data: () => ({
showMenu: false,
clickcount: 0,
items: [
{ title: 'Click Me' },
{ title: 'Click Me' },
{ title: 'Click Me' },
{ title: 'Click Me 2' },
],
}),
methods: {
handleTab(event) {
this.showMenu = true;
}
}
})
<div id="app" v-on:keydown.tab='handleTab'>
<v-app id="inspire">
<div class="text-center">
<v-menu offset-y v-model='showMenu'>
<template v-slot:activator="{ on }">
<v-btn
color="primary"
dark
v-on:focus='handleTab'
>
Dropdown
</v-btn>
</template>
<v-list>
<v-list-item
v-for="(item, index) in items"
:key="index"
@click=""
>
<v-list-item-title>{{ item.title }}</v-list-item-title>
</v-list-item>
</v-list>
</v-menu>
</div>
<v-text-field></v-text-field>
<v-text-field></v-text-field>
<v-text-field></v-text-field>
<v-text-field></v-text-field>
</v-app>
</div>
这是一个示例:
推荐阅读
- java - 如何从java流中的接口调用MapStruct方法
- python - scipy.optimize_curve_fit 表示无法估计参数的协方差
- javascript - Handlebars 条件样式属性
- python - 从 SQL 字符串中删除关键字
- php - 如何使用 Laravel/PHP 和 MySQL 有效地将数组插入为嵌套集模型
- javascript - Vue 在设置为禁用时重置 INPUT 字段
- php - 如何删除所有空格和新行并制作一个字符串?
- c# - ASP.NET Core 2.2 在 DbContext 中获取 userId
- bash - 卷曲有效载荷在空白处中断
- jenkins - 使用声明性管道的基于提交的作业