我正在尝试在焦点位于<ul>
子元素时突出显示父<li>
。我正在使用jQuery来实现这一点,但焦点不会转移。
HTML:
ul class="nav @if (Request.Browser.IsMobileDevice){@Html.Raw("nav-pills")}else{@Html.Raw("nav-pills")}">
<li class="dropdown" style="cursor:pointer" id="accessFunction">
<a style="color: lightgray; text-shadow: 1px 1px 1px #111; webkit-text-shadow: 1px 1px 1px #111;font-size:18px;background-color:transparent;padding-right:5px" class="dropdown-toggle subTabAction" data-toggle="dropdown" id="dropAccess" >
jQuery的:
$('#dropAccess').focus()
$(this).find('#accessFunction').focus();
这样做是为了容纳仅需要视觉问题的键盘用户,以找到由<li>
标记触发的可访问下拉菜单。
小提琴: https://jsfiddle.net/progSrCa/d3au7k9c/
更新:
我意识到问题在于'ul'和'li'的关系,我已经相应地更新了。
答案 0 :(得分:2)
您可以从另一个输入的焦点或点击给定的div触发焦点。这是必需的jQuery代码。小提琴完整的例子。
$( "#otherInput" ).focus(function() {
$( "#target" ).focus();
});
$( "#plainDiv" ).click(function() {
$( "#target" ).focus();
});
答案 1 :(得分:0)
您是否正在尝试关注列表元素(li)。我相信你可以专注于HTML Select,textarea,input,button和tags。您可以尝试通过将tabindex属性添加到要添加的元素来强制关注焦点。你仍然可以通过触发焦点处理程序而不是事件来使用jquery做一些技巧。
$('#accessFunction').triggerHandler( "focus" );