Flex中如何判斷是否在組件之外單擊
更新時間:2014年05月07日 17:37:41 作者:
這篇文章主要介紹了在Flex中判斷是否在組件之外單擊的技巧,需要的朋友可以參考下
昨天在做Flex開發(fā)的時候,遇到了這樣一種操作,之前也遇到過,那時的辦法不是很好,今天又碰上了類似的問題,先看一張圖吧!
這是系統(tǒng)界面大概的樣子,現(xiàn)在的情況是,紅色區(qū)域是一個窗口、頁面、組件這樣的,需要在這個組件之外的地方單擊就隱藏這個組件,以前的想法很簡單,就是通過坐標(biāo)判斷,但是現(xiàn)在這個紅色的區(qū)域的結(jié)構(gòu)比較復(fù)雜,所以不知道有什么樣的方式可以解決,后來遇到了一個網(wǎng)友,給了我一段代碼,我覺得還不錯,我覺得算是技巧性的東西吧!所以分享一下:
首先,在黑色的區(qū)域監(jiān)聽單擊事件,然后在單擊事件的處理函數(shù)中通過contains方法判斷。代碼如下所示:
public functionclickHandler(event:MouseEvent):void
{
if(!紅色區(qū)域.contains(event.target asDisplayObject) && !綠色區(qū)域.contains(event.target as DisplayObject))
{
紅色區(qū)域.visible = false;
}
}
這段代碼,我認(rèn)為還是比較一種好的解決方案。最開始的想法是通過坐標(biāo)來判斷,然后又冒出了一個想法就是在紅色區(qū)域上監(jiān)聽鼠標(biāo)離開,在離開的處理函數(shù)中監(jiān)聽單擊的事件,但是這種方法好像不好使。于是問了一下網(wǎng)友,就知道了這種方法。
這里還有一個小插曲:我的qq頭像是路飛的,很巧合的是幫助我解決問題的是一個索隆頭像的網(wǎng)友,解決完問題之后,他還叫了我一聲船長,很有趣啊!

這是系統(tǒng)界面大概的樣子,現(xiàn)在的情況是,紅色區(qū)域是一個窗口、頁面、組件這樣的,需要在這個組件之外的地方單擊就隱藏這個組件,以前的想法很簡單,就是通過坐標(biāo)判斷,但是現(xiàn)在這個紅色的區(qū)域的結(jié)構(gòu)比較復(fù)雜,所以不知道有什么樣的方式可以解決,后來遇到了一個網(wǎng)友,給了我一段代碼,我覺得還不錯,我覺得算是技巧性的東西吧!所以分享一下:
首先,在黑色的區(qū)域監(jiān)聽單擊事件,然后在單擊事件的處理函數(shù)中通過contains方法判斷。代碼如下所示:
復(fù)制代碼 代碼如下:
public functionclickHandler(event:MouseEvent):void
{
if(!紅色區(qū)域.contains(event.target asDisplayObject) && !綠色區(qū)域.contains(event.target as DisplayObject))
{
紅色區(qū)域.visible = false;
}
}
這段代碼,我認(rèn)為還是比較一種好的解決方案。最開始的想法是通過坐標(biāo)來判斷,然后又冒出了一個想法就是在紅色區(qū)域上監(jiān)聽鼠標(biāo)離開,在離開的處理函數(shù)中監(jiān)聽單擊的事件,但是這種方法好像不好使。于是問了一下網(wǎng)友,就知道了這種方法。
這里還有一個小插曲:我的qq頭像是路飛的,很巧合的是幫助我解決問題的是一個索隆頭像的網(wǎng)友,解決完問題之后,他還叫了我一聲船長,很有趣啊!
相關(guān)文章
flex中使用css樣式修改TextArea滾動條的皮膚代碼
使用css樣式修改TextArea滾動條的皮膚,具體示例代碼如下,感興趣的朋友可以參考下,希望對大家有所幫助2013-08-08flex打印操作(FlexPrintJob)還有分頁打印操作具體實(shí)現(xiàn)
如果要使用分頁效果,則必須使用標(biāo)簽"PrintAdvancedDataGrid"(Flex3中的標(biāo)簽)才能夠?qū)崿F(xiàn)分頁效果,感興趣的朋友可以參考下2013-04-04Flex中通過RadioButton進(jìn)行切換示例代碼
這篇文章主要介紹了Flex中通過RadioButton進(jìn)行切換示例代碼,需要的朋友可以參考下2014-02-02Flex 錯誤(mx.messaging.messages::RemotingMessage)分析
有時我們在做項(xiàng)目的時候會遇到Flex 錯誤提示mx.messaging.messages::RemotingMessage,那么產(chǎn)生這個錯誤的原因是什么呢,今天我們來分析下2014-06-06Flex Label控件豎排顯示文字的實(shí)現(xiàn)代碼
Label控件豎排顯示文字一般都是橫排的,接下來為大家分享個方法讓它變成豎排,感興趣的童鞋們可以學(xué)習(xí)下,希望對你有所幫助2013-04-04Flex設(shè)置LinkButton的背景色有思路有源碼
Flex中沒有設(shè)置LinkButton的背景色的屬性,可以直接通過調(diào)用樣式方法畫出LinkButton的背景色2014-08-08flash 報錯捕獲(Catch All Exception in Flash)
就是在全局任何地方產(chǎn)生的錯誤如果沒有被捕獲,都可以在捕獲階段和冒泡階段被捕獲,接下來為大家介紹一種可以捕捉所有錯誤的方法,感興趣的你可不要錯過了哈2013-03-03