0

如何检查元素是否聚焦?

这是我的尝试:

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

_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 类型的对象。

4

1 回答 1

0

从用户 Danp2 那里获得了 Autoit 论坛的帮助!

最终代码是:

_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将被使用。

于 2017-07-17T19:56:02.147 回答