JavaScript keydown事件:我可以告诉以前哪个元素有焦点吗?

时间:2012-10-10 19:52:33

标签: javascript javascript-events

当用户按下Tab键时专注于特定元素时,我想执行特定功能。但是我不希望执行此函数,除非在按下Tab键时该特定元素具有焦点。

有没有办法告诉keydown事件本身有哪些元素(有?)焦点?或者我应该设置particularElementHasFocus属性以响应该元素上的onBlur和onFocus事件?

2 个答案:

答案 0 :(得分:0)

您可以使用document.activeElement获取当前关注的元素。 要么 使用 以下代码

var particularElementHasFocus  ;
$('input, textarea, button').focus(function() {
  particularElementHasFocus = this;
});

$('input, textarea, button').blur(function() {
  particularElementHasFocus = null;
});

答案 1 :(得分:0)

使用jQuery可以通过测试相关元素的.focus来完成。使用标准JS,您可以使用document.activeElement - https://developer.mozilla.org/en-US/docs/DOM/document.activeElement