前提条件
- 我有一个用于重复或已关闭问题的 searched
- 我有一个避免常见问题的任何HTML validated
- 我阅读了 contributing guidelines
描述问题
当具有 data-bs-toggle="tab" 的导航链接被聚焦时,后退和前进浏览器键盘快捷键(alt + 左/右箭头键)会被阻止。
- 有一个带有历史记录的浏览器标签页
- 访问 https://getbootstrap.com/docs/5.2/components/navs-tabs/#javascript-behavior
- 点击任何一个标签链接
- 当链接被聚焦时按住 alt + 左箭头键
预期结果:
浏览器标签页可以回到历史记录中。
看到的结果:
Bootstrap 标签控制处理了 keydown 事件并阻止了浏览器回到历史记录中。
简化的测试用例
https://getbootstrap.com/docs/5.2/components/navs-tabs/#javascript-behavior
你在哪一个操作系统上看到了这个问题?
Windows
你在哪一个浏览器上看到了这个问题?
Chrome, Firefox, Microsoft Edge, Opera
你使用的Bootstrap版本是什么?
v5.2.3
5条答案
按热度按时间o4tp2gmn1#
嘿,我想处理这个问题。请把它分配给我。
lxkprmvk2#
我愿意在@augustas-alminas上工作。你能把这个任务分配给我吗?
rqenqsqc3#
我们不分配问题。请阅读我们的contributing guidelines。
关于这个问题,我想我们需要检查箭头是否与另一个键配对使用,因为目前
alt
+←
的效果与←
单独使用相同。顺便说一下,这可能适用于任何其他具有键盘导航功能的组件。
ssm49v7z4#
感谢您指出这个问题。我能够在不同的浏览器和操作系统上重现描述的问题。看起来带有data-bs-toggle="tab"属性的导航链接标签阻止了使用alt + 左/右箭头键的默认浏览器行为,这是浏览历史记录的预期行为。
一个可能的解决方案是在nav-link标签的keydown事件监听器中添加一个条件,检查是否按下了alt键,如果按下了,则允许继续执行默认的浏览器行为。另一个选择是提供一种方法,让用户在希望的情况下禁用此行为。
gpnt7bae5#
我认为这不是一个问题或错误。我只是在我的设备上检查了组件是如何工作的,我发现组合键alt + 箭头与单独的箭头一样有效,而在我看来,当你点击一次后,条形图不应该带你回到初始选项卡,因为它会立即返回历史记录,这是不方便的。另一方面,如果组合键alt + 箭头的行为与单独的箭头不同,那就更好了,那就是允许在按住alt + 箭头的同时进行导航,当你释放alt按钮时,它将返回历史记录。