Flex中如何判斷是否在組件之外單擊
更新時(shí)間:2014年05月07日 17:37:41 作者:
這篇文章主要介紹了在Flex中判斷是否在組件之外單擊的技巧,需要的朋友可以參考下
昨天在做Flex開(kāi)發(fā)的時(shí)候,遇到了這樣一種操作,之前也遇到過(guò),那時(shí)的辦法不是很好,今天又碰上了類(lèi)似的問(wèn)題,先看一張圖吧!
這是系統(tǒng)界面大概的樣子,現(xiàn)在的情況是,紅色區(qū)域是一個(gè)窗口、頁(yè)面、組件這樣的,需要在這個(gè)組件之外的地方單擊就隱藏這個(gè)組件,以前的想法很簡(jiǎn)單,就是通過(guò)坐標(biāo)判斷,但是現(xiàn)在這個(gè)紅色的區(qū)域的結(jié)構(gòu)比較復(fù)雜,所以不知道有什么樣的方式可以解決,后來(lái)遇到了一個(gè)網(wǎng)友,給了我一段代碼,我覺(jué)得還不錯(cuò),我覺(jué)得算是技巧性的東西吧!所以分享一下:
首先,在黑色的區(qū)域監(jiān)聽(tīng)單擊事件,然后在單擊事件的處理函數(shù)中通過(guò)contains方法判斷。代碼如下所示:
public functionclickHandler(event:MouseEvent):void
{
if(!紅色區(qū)域.contains(event.target asDisplayObject) && !綠色區(qū)域.contains(event.target as DisplayObject))
{
紅色區(qū)域.visible = false;
}
}
這段代碼,我認(rèn)為還是比較一種好的解決方案。最開(kāi)始的想法是通過(guò)坐標(biāo)來(lái)判斷,然后又冒出了一個(gè)想法就是在紅色區(qū)域上監(jiān)聽(tīng)鼠標(biāo)離開(kāi),在離開(kāi)的處理函數(shù)中監(jiān)聽(tīng)單擊的事件,但是這種方法好像不好使。于是問(wèn)了一下網(wǎng)友,就知道了這種方法。
這里還有一個(gè)小插曲:我的qq頭像是路飛的,很巧合的是幫助我解決問(wèn)題的是一個(gè)索隆頭像的網(wǎng)友,解決完問(wèn)題之后,他還叫了我一聲船長(zhǎng),很有趣啊!
這是系統(tǒng)界面大概的樣子,現(xiàn)在的情況是,紅色區(qū)域是一個(gè)窗口、頁(yè)面、組件這樣的,需要在這個(gè)組件之外的地方單擊就隱藏這個(gè)組件,以前的想法很簡(jiǎn)單,就是通過(guò)坐標(biāo)判斷,但是現(xiàn)在這個(gè)紅色的區(qū)域的結(jié)構(gòu)比較復(fù)雜,所以不知道有什么樣的方式可以解決,后來(lái)遇到了一個(gè)網(wǎng)友,給了我一段代碼,我覺(jué)得還不錯(cuò),我覺(jué)得算是技巧性的東西吧!所以分享一下:
首先,在黑色的區(qū)域監(jiān)聽(tīng)單擊事件,然后在單擊事件的處理函數(shù)中通過(guò)contains方法判斷。代碼如下所示:
復(fù)制代碼 代碼如下:
public functionclickHandler(event:MouseEvent):void
{
if(!紅色區(qū)域.contains(event.target asDisplayObject) && !綠色區(qū)域.contains(event.target as DisplayObject))
{
紅色區(qū)域.visible = false;
}
}
這段代碼,我認(rèn)為還是比較一種好的解決方案。最開(kāi)始的想法是通過(guò)坐標(biāo)來(lái)判斷,然后又冒出了一個(gè)想法就是在紅色區(qū)域上監(jiān)聽(tīng)鼠標(biāo)離開(kāi),在離開(kāi)的處理函數(shù)中監(jiān)聽(tīng)單擊的事件,但是這種方法好像不好使。于是問(wèn)了一下網(wǎng)友,就知道了這種方法。
這里還有一個(gè)小插曲:我的qq頭像是路飛的,很巧合的是幫助我解決問(wèn)題的是一個(gè)索隆頭像的網(wǎng)友,解決完問(wèn)題之后,他還叫了我一聲船長(zhǎng),很有趣啊!
相關(guān)文章
flex4.5中CSS選擇器的應(yīng)用小結(jié)
與HTML相似,F(xiàn)lex允許在MXML標(biāo)簽中通過(guò)CSS樣式來(lái)設(shè)置組件的外觀。到flex4.5后已經(jīng)基本上支持了HTML中的所有CSS的應(yīng)用方式,這里主要來(lái)列舉下flex4.5中CSS選擇器的使用方法2013-04-04
Flex調(diào)Javascript打開(kāi)新窗口示例代碼
Flex通過(guò)調(diào)用Javascript打開(kāi)全屏的新窗口新窗口示例代碼 ,具體實(shí)現(xiàn)代碼如下,感興趣的朋友可以參考下,希望對(duì)大家有所幫助2013-08-08
Flex中在Tree綁定數(shù)據(jù)后自動(dòng)展開(kāi)樹(shù)節(jié)點(diǎn)的方法
使用Tree組件在綁定數(shù)據(jù)后自動(dòng)展開(kāi)所有樹(shù)型節(jié)點(diǎn)(不需要用戶(hù)再自己點(diǎn)擊展開(kāi)節(jié)點(diǎn),會(huì)方 便許多),接下來(lái)為大家介紹下具體的實(shí)現(xiàn)2014-01-01
flex通過(guò)java后臺(tái)獲取ip和pcname示例代碼
這篇文章主要介紹了flex通過(guò)java后臺(tái)獲取ip和pcname的具體實(shí)現(xiàn),需要的朋友可以參考下2014-05-05
ie9下關(guān)閉彈出窗口出現(xiàn)__flash__removeCallback未定義錯(cuò)誤
在關(guān)閉彈出窗口時(shí),出現(xiàn)__flash__removeCallback未定義錯(cuò)誤。而且是關(guān)了又出現(xiàn),關(guān)于這個(gè)問(wèn)題的解決方法如下2014-09-09
flex項(xiàng)目中server的名稱(chēng)修改方法探討
我們?cè)谧鰂lex的開(kāi)發(fā)中,如果用到別人搭建好的框架,而別人的server名稱(chēng)往往是具有他們意義的項(xiàng)目名稱(chēng),那我們?nèi)绾涡薷某勺约旱哪?感興趣的朋友可以參考下本文,希望可以幫助到你2013-02-02
Flex中對(duì)表格某列的值進(jìn)行數(shù)字格式化并求百分比添加%
需要對(duì)表格中某列的數(shù)值進(jìn)行格式化,對(duì)該數(shù)值乘以100,并保留兩位小數(shù),添加“%”下面同實(shí)例來(lái)實(shí)現(xiàn)下2014-10-10
FLEX給頁(yè)面添加滾動(dòng)條實(shí)現(xiàn)思路及代碼
給頁(yè)面添加滾動(dòng)條的方法有很多,使用js獲取瀏覽器窗口的寬高,根據(jù)瀏覽器窗口寬高修改樣式,讓滾動(dòng)條出現(xiàn),具體的實(shí)現(xiàn)如下,需要的朋友可以參考下2013-11-11

