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



如何检查元素是否聚焦?

这是我的尝试:

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

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

从用户 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将改为使用。

相关内容

  • 没有找到相关文章

最新更新