Flex中如何判斷是否在組件之外單擊
昨天在做Flex開發(fā)的時候,遇到了這樣一種操作,之前也遇到過,那時的辦法不是很好,今天又碰上了類似的問題,先看一張圖吧!
這是系統界面大概的樣子,現在的情況是,紅色區(qū)域是一個窗口、頁面、組件這樣的,需要在這個組件之外的地方單擊就隱藏這個組件,以前的想法很簡單,就是通過坐標判斷,但是現在這個紅色的區(qū)域的結構比較復雜,所以不知道有什么樣的方式可以解決,后來遇到了一個網友,給了我一段代碼,我覺得還不錯,我覺得算是技巧性的東西吧!所以分享一下:
首先,在黑色的區(qū)域監(jiān)聽單擊事件,然后在單擊事件的處理函數中通過contains方法判斷。代碼如下所示:
public functionclickHandler(event:MouseEvent):void
{
if(!紅色區(qū)域.contains(event.target asDisplayObject) && !綠色區(qū)域.contains(event.target as DisplayObject))
{
紅色區(qū)域.visible = false;
}
}
這段代碼,我認為還是比較一種好的解決方案。最開始的想法是通過坐標來判斷,然后又冒出了一個想法就是在紅色區(qū)域上監(jiān)聽鼠標離開,在離開的處理函數中監(jiān)聽單擊的事件,但是這種方法好像不好使。于是問了一下網友,就知道了這種方法。
這里還有一個小插曲:我的qq頭像是路飛的,很巧合的是幫助我解決問題的是一個索隆頭像的網友,解決完問題之后,他還叫了我一聲船長,很有趣啊!
上一篇:使用flex中的httpservice方法與java進行交互
欄 目:Flex
本文標題:Flex中如何判斷是否在組件之外單擊
本文地址:http://www.jygsgssxh.com/a1/Flex/11586.html
您可能感興趣的文章
- 01-11flex調用webservice中的自定義類的方法
- 01-11Flex實現的上傳攝像頭拍照并將UI保存為圖片
- 01-11Flex字體加粗問題只能對英文的字體加粗
- 01-11flex利用webservice上傳照片實現代碼
- 01-11Flex控制彈出窗口拖動范圍示例代碼
- 01-11flex內嵌html網頁示例代碼
- 01-11Flex中在Tree綁定數據后自動展開樹節(jié)點的方法
- 01-11Flex彈出窗口請求Action函數示例
- 01-11Flex中通過RadioButton進行切換示例代碼
- 01-11Flex中TabNavigator設置Tabs樣式思路及源碼


閱讀排行
本欄相關
- 01-11flex調用webservice中的自定義類的方法
- 01-11Flex實現的上傳攝像頭拍照并將UI保存
- 01-11datagrid不可編輯行有關問題的控制方法
- 01-11Flex控制彈出窗口拖動范圍示例代碼
- 01-11flex利用webservice上傳照片實現代碼
- 01-11Flex字體加粗問題只能對英文的字體加
- 01-11Flex中在Tree綁定數據后自動展開樹節(jié)點
- 01-11flex內嵌html網頁示例代碼
- 01-11Flex中通過RadioButton進行切換示例代碼
- 01-11Flex彈出窗口請求Action函數示例
隨機閱讀
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10C#中split用法實例總結
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-10delphi制作wav文件的方法
- 01-11ajax實現頁面的局部加載
- 08-05dedecms(織夢)副欄目數量限制代碼修改
- 04-02jquery與jsp,用jquery
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 01-10SublimeText編譯C開發(fā)環(huán)境設置


