代码之家  ›  专栏  ›  技术社区  ›  Milos Dragg

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

  •  0
  • Milos Dragg  · 技术社区  · 7 年前

    如何检查元素是否聚焦?

    这是我的尝试:

    _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
    

    1 回复  |  直到 7 年前
        1
  •  0
  •   Milos Dragg    7 年前

    从用户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