当页面一打开使用键盘按键时 keydown 事件没有触发,但是当点击页面任意一处的时候再按键盘 keydown 事件则可以触发,原因为DOM元素没有获取焦点。

使用$(this).focus() 获取焦点即可。

$(this).focus()

但是有些元素无法获取焦点则可以添加tabindex属性来使其可以获取焦点。

$('div').attr('tabindex', 0);