javascript - 覆盖默认 TabIndex 行为以首先选择选中的元素
问题描述
我有两个带有标签 Yes 和 No 的单选按钮,它们的标签 tabIndex 都设置为 0。默认情况下设置为选中。它们也是自定义单选按钮。
我想要实现的是 -
- 当用户点击 Tab 键时,选中的单选按钮应该是焦点。(默认情况下,第一个元素是焦点。)
- 当用户再次点击选项卡时,它应该继续其自然行为并专注于下一个元素。
这是我尝试过的伪代码:
isTab = false
isChecked = false
switch(event.keyCode):
case 9:
if (!isTab):
isTab = true;
event.preventDefault();
for (let radio of radioButtons):
if radio.isChecked:
radio.focus()
isChecked = true;
if (!isChecked):
// if none are selected, focus on first
radioButtons[0].focus()
这仅在默认情况下仅第一次工作,因此选择不选择。但是当我选择 Yes 并按 Tab 时,焦点仍停留在 Yes 上,并且不会移动到下一个元素。
我想首先将焦点保持在选定的收音机上,然后在随后的选项卡上按我想像往常一样移动焦点。
帮助高度赞赏!
解决方案
推荐阅读
- javascript - OpenLayers 选择多边形奇怪的反应状态问题
- python - 关于如何根据分数进行排名的建议
- data-structures - List ADT的位置定义(单链表实现)
- flutter - 在 Android 上,除了 Activity(以及何时?)之外,FlutterEngine 还能在哪里显示?
- javascript - 使用 Spring Boot、JavaScript 和 Ajax 进行电子商务的多个复选框产品过滤器,例如 Amazon 或 Flipkart
- python - Django REST 框架,序列化器:附加数据?
- php - php json数组数组并从深层嵌套中获取一些键值
- javascript - 如何通过 Firebase 函数将参数传递给外部 API
- java - 改造不显示任何数据
- java - 在 getListEntryObjects 中设置 max_Retrieve 和 sort_list 参数