2012-11-04 55 views
1

我正在测试以查看当前的焦点元素是否是使用document.activeElement的输入。当它返回[object HTMLInputElement]时,所以我推测我可以使用下面的逻辑来测试它,但它总是返回false?document.activeElement返回[object HTMLInputElement],但HTMLInputElement的实例是否等于false?

document.activeElement instanceof HTMLInputElement 

任何人都知道我做错了什么,因为谷歌上的快速搜索表明这个逻辑是完全有效的?

谢谢。

+2

你可以添加上下文到这个问题 - 一些代码,也许?这很好[这里](http://jsfiddle.net/nCT7X/)。 – raina77ow

+0

感谢雷纳,这不是我的Stackoverflow职业生涯的好开始!我打电话给console.log(“一个字符串”+ document.activeElement instanceof HTMLInputElement),并忘记将条件包含在括号中,因此它总是返回false。这是那些日子之一...... – james

+0

你能提供更多的上下文和你在做什么浏览器?在这个JSFiddle中你所描述的工作正常:http://jsfiddle.net/jzQ6B/ – skyline3000

回答

0

使用hasfocus方法。

activeElement返回当前在文档中被指定为活动元素的对象的引用。

在文档中一次只能激活一个元素。活动元素不一定具有焦点,但具有焦点的元素始终是文档中的活动元素。例如,非前景窗口的窗口中的活动元素没有焦点。

相关问题