当用户在按下 Tab 键时专注于特定元素时,我想执行特定功能。但我不想执行此函数,除非在按下 Tab 键时该特定元素具有焦点。
有没有办法从 keydown 事件本身判断哪些元素具有(具有?)焦点?或者我应该设置一个particularElementHasFocus
属性来响应该元素上的 onBlur 和 onFocus 事件?
当用户在按下 Tab 键时专注于特定元素时,我想执行特定功能。但我不想执行此函数,除非在按下 Tab 键时该特定元素具有焦点。
有没有办法从 keydown 事件本身判断哪些元素具有(具有?)焦点?或者我应该设置一个particularElementHasFocus
属性来响应该元素上的 onBlur 和 onFocus 事件?
您可以使用document.activeElement
获取当前的焦点元素。或使用以下代码
var particularElementHasFocus ;
$('input, textarea, button').focus(function() {
particularElementHasFocus = this;
});
$('input, textarea, button').blur(function() {
particularElementHasFocus = null;
});
使用 jQuery 可以通过测试有.focus
问题的元素来完成。使用标准 JS,您可以使用document.activeElement
- https://developer.mozilla.org/en-US/docs/DOM/document.activeElement