2012-11-04 80 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返回當前在文檔中被指定爲活動元素的對象的引用。

在文檔中一次只能激活一個元素。活動元素不一定具有焦點,但具有焦點的元素始終是文檔中的活動元素。例如,非前景窗口的窗口中的活動元素沒有焦點。

相關問題