2012-09-05 51 views
0

如何檢測特定文本框何時獲得焦點(通過鍵盤和鼠標單擊)。例如,當你點擊一個文本框時,我只想要一個Alert彈出窗口。如何在Adobe Air的文本框中檢測焦點

我試圖做類似

protected function textbox1_changeHandler(event:Event):void 
    { 
      if(textbox1.IsFocus){ 
      //run some code 
      } 
    } 

我知道IsFocus不exsist,但有什麼事情是讓我做的相似?

我使用Flash Builder 4.6和組件是MX:的TextInput

感謝

+0

只是一個供參考; IDE的版本(AKA Flash Builder 4.6)比您使用的Flex SDK的版本更有用。在很多情況下,不同版本的Flex之間存在差異。在這種情況下,檢測焦點是非常一致的(請參閱我的回答) – JeffryHouser

+0

@ www.Flextras.com感謝您的評論,我會記住它 – chmod

回答

1

使用focusIn事件。

概念是這樣的:

<mx:TextInput focusIn="trace('received focus')"/> 

如果你想找出是否在textInput已經具有焦點時,您可以使用getFocus()方法。概念上是這樣的:

if(myComponent.getFocus() == myComponent){ 
trace('component has focus'); 
} else { 
trace('component does not have focus'); 
} 
+0

如果我需要使它做其他事情而不是警報,是否仍有可能?我將編輯該問題。 – chmod

+0

是的,您可以在focusIn處理程序中運行您希望的任何ActionScript代碼。我提供的代碼與Flex Alert類沒有任何關係。 – JeffryHouser

+0

謝謝!它有效! – chmod

相關問題