Jquery 如何在chrome中获取div上的按键事件?

Jquery 如何在chrome中获取div上的按键事件?,jquery,keydown,Jquery,Keydown,我想在div上获取keydown事件。我使用jquerykeydown。很简单 然而,它在铬上不起作用。为了在chrome上工作,我必须设置tabindex=0 如果我这样做,Chrome会在我的div周围加上一个难看的橙色边框 有没有一种方法可以在没有难看的橙色边框的chrome上实现这一点?Keydown事件只发送到具有焦点的HTML元素。可聚焦元素因浏览器而异,但设置了tabindex属性的元素在大多数浏览器中始终可以获得焦点 您已经为div元素设置了tabindex,这样它就可以聚焦并接

我想在div上获取keydown事件。我使用jquerykeydown。很简单

然而,它在铬上不起作用。为了在chrome上工作,我必须设置tabindex=0

如果我这样做,Chrome会在我的div周围加上一个难看的橙色边框


有没有一种方法可以在没有难看的橙色边框的chrome上实现这一点?

Keydown事件只发送到具有焦点的HTML元素。可聚焦元素因浏览器而异,但设置了tabindex属性的元素在大多数浏览器中始终可以获得焦点

您已经为div元素设置了tabindex,这样它就可以聚焦并接收键盘事件。你的问题是谷歌Chrome上当前关注元素的默认轮廓

要更改轮廓(您提到的“丑陋的橙色边框”),请使用伪CSS类:focus和CSS属性outline。以下示例将在所有元素具有焦点时从中删除大纲:

*:focus
{
    outline: none;
}

希望这能有所帮助。

我怀疑你在哪里做对了。要有一个
keydown
事件,理论上你需要关注你的元素,否则你在键入什么?div上怎么会有keydown事件???我认为只有文本输入和文本区域可以被键入,只是需要注意的是,对于可访问性,不建议设置ouline:none。看到和