2011-08-13 87 views
4

我几乎可以肯定我可以在这里找到答案,但我没有成功。 您将如何检查在事件调用时是否有某个对象被选中(专注)?我试过if (document.activeElement == "[object HTMLBodyElement]"),但显然.activeElement正在填写上载。我不允许使用jQuery,只有mootools。检查某些元素是否是没有jQuery的“聚焦”

非常感谢您的帮助!

回答

3

https://developer.mozilla.org/en/DOM/document.activeElement - 如所指出的,如果没有元件被聚焦,原稿体被默认聚焦:

if (document.activeElement != document.body) { 
    // something else than the body is focused 
} 
+0

谢谢,但'[对象HTMLBodyElement]'是 “activeElement” 默认情况下。我不明白的是,为什么当我将焦点改为textarea时,它不会改变。 – mrkva

+0

如果'没有'是重点然后document.activeElement是 – Matijs

+0

@Matijs哦,对。我更新了我的答案。谢谢。 – Shi

2
if (document.body === document.activeElement) { 
    // the body is focused, ie no other element is focused 
}