1

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

有没有办法从 keydown 事件本身判断哪些元素具有(具有?)焦点?或者我应该设置一个particularElementHasFocus属性来响应该元素上的 onBlur 和 onFocus 事件?

4

2 回答 2

1

您可以使用document.activeElement获取当前的焦点元素。或使用以下代码

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

$('input, textarea, button').blur(function() {
  particularElementHasFocus = null;
});
于 2012-10-10T19:55:16.800 回答
0

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

于 2012-10-10T19:55:41.323 回答