gpt4 book ai didi

html - 如何通过使用键盘在表单中导航来用边框替换轮廓?

转载 作者:行者123 更新时间:2023-11-28 02:59:19 24 4
gpt4 key购买 nike

当您有一个网站和一个表单时,您可以使用键盘上的 Tab 键在表单中导航。例如,谷歌浏览器将为所选元素提供蓝色轮廓。

HTML

<form method="" action="">
<input type="text" tabindex="1">
<input type="text" tabindex="2">
<input type="submit" tabindex="3">
</form>

CSS

input:focus {
outline: none;
border: 1px solid blue;
}

参见 FIDDLE .

这工作正常,但我希望在用户使用键盘导航时应用它。当正常专注于输入时,我希望边框消失。

所以我在 CSS 中想要的是以下内容(不工作):

input:navigatedbytabkey { ... }

有人知道好的解决方案吗?

最佳答案

你不能用纯 CSS 做到这一点,但你仍然可以用 javascript/Jquery 做到这一点。

您可以做的是为 Tab 键按下设置一个事件监听器,并在该事件上检查哪个元素获得焦点,如果它在您的表单内,则突出显示它。我发现使用类而不是直接应用 css 来突出显示它更好。

我会使用 JQuery,因为它可以节省很多宝贵的时间。

CSS:

.tab-focused{
//HERE COMES YOUR ON-TAB-FOCUS STYLING
}

JS:

$(document).ready(function(){
$(window).keyup(function(e){//this listens for any key being presssed
if(e.keyCode==9){//this checks that the key pressed is tab
var focusedElement = $(':focus');
if (focusedElement.parents('form').length){//check if the focused element is inside the form
focusedElement.addClass('tab-focused');
//This still has one problem. When you get out of an element, it's class is not being removed. So, let's add another event to detect whenever they lose focus(blur)
focusedElement.one('blur',function(){
$(this).removeClass('tab-focused');
});
}
}
}
});

我还没有测试过这个,但它应该可以工作,或者至少,它是你开发你想要的东西的一个开始。如果您无法让它发挥作用,请不要害怕寻求进一步的帮助。

祝你好运!

关于html - 如何通过使用键盘在表单中导航来用边框替换轮廓?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35363073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com