jquery焦点不会触发css焦点

jquery焦点不会触发css焦点,jquery,css,Jquery,Css,使用jquery将焦点设置为元素时似乎有问题。它显然不会触发元素上的:focus css属性集 例如,在我的css中,我有: div.item1:focus { border:2px solid red; } 在我的jquery中,我有: $("div.item1").focus(); 焦点已设置,但没有应用于元素的红色边框。div元素不使用:焦点选择器。。看 :focus伪类在元素具有焦点时应用(接受键盘事件或其他形式的文本输入) 您可以这样做: .hoverclass { border:

使用jquery将焦点设置为元素时似乎有问题。它显然不会触发元素上的:focus css属性集

例如,在我的css中,我有:

div.item1:focus { border:2px solid red; }
在我的jquery中,我有:

$("div.item1").focus();

焦点已设置,但没有应用于元素的红色边框。

div
元素不使用
:焦点
选择器。。看

:focus伪类在元素具有焦点时应用(接受键盘事件或其他形式的文本输入)

您可以这样做:

.hoverclass { border:2px solid red; }

$("div.item").hover(function() {
  $(this).addClass('hoverclass')
},function() {
  $(this).removeClass('hoverclass')
});
这将使用,并且

focus()
仅可用于表单元素和链接,如果您尝试在其他类型的元素上使用它,则不会起作用

有关更多信息,请参见,网址:

焦点事件在获得焦点时发送到元素。这件事 隐式地适用于有限的元素集,例如表单
元素(
等)和链接(

您需要执行以下操作:

$("div.item1").focus(function(){
        $("div.item1").css("border","2px solid red");
      });
转到jQuery focus()页面查看:

当某个元素获得焦点时,焦点事件被发送到该元素。此事件 隐式地适用于有限的元素集,例如表单 元素(
等)和链接(


看起来所有浏览器都通过了tabindex测试。

在最新的浏览器版本中,可以通过显式设置元素的tabindex属性来扩展事件以包括所有元素类型。--从jQuery文档中,上面的链接似乎有点粗略,因为没有“最近的浏览器”的定义是的,但当然也可以这样做。其他工作可能更可取。我刚刚发现ppk在这方面的工作,他在搜索中加入了“带tabindex的元素”,它看起来是关于大纲而不是边框的?