Autoit FF.au3 无法检查元素是否聚焦

Autoit FF.au3 cant check if element is focused

如何检查元素是否获得焦点?

这是我的尝试:

我准备了一个检查对象是否聚焦的函数:

_FFCmd('FFau3.isfocused=function isfocused(a){try{return (a === document.activeElement)}catch(e){return}}')

$oElm = _FFXPath("//*[@id='someId']")
_FFIsFocused($oElm)

Func _FFIsFocused($sElement = "")
    Local $isFoc = _FFCmd("FFau3.isfocused(" & $sElement & ")")
    Return $isFoc
EndFunc   ;==>_FFIsFocused

它永远不会是真的。 我发送的对象似乎是 XUL 对象类型。

从 Autoit 论坛得到了用户 Danp2 的帮助!

最终代码为:

_FFCmd('FFau3.isfocused=function isfocused(a){try{return (a === FFau3.WCD.activeElement)}catch(e){return}}')

$oElm = _FFXPath("//*[@id='someId']")
ConsoleWrite(_FFIsFocused($oElm))

Func _FFIsFocused($sElement = "")
    Local $isFoc = _FFCmd("FFau3.isfocused(" & $sElement & ")")
    Return $isFoc
EndFunc   ;==>_FFIsFocused

问题出在 document.activeElement 上,我们无法通过这种方式访问​​,因为我们是从 mozrepl 内部访问的。 FFau3.WCD.activeElement 将改为使用。