作者jyleef (龍蝦)
看板Flash
標題[問題] Flex / ActionScript 3.0 抓內層屬性 id
時間Wed Sep 9 23:16:54 2009
public function dragDropFunction(event:DragEvent):void
{
如何在這裡抓到 AreaSeries 的 id
}
<mx:AreaChart dragOver="dragDropFunction(event)" ...... >
<mx:series>
<mx:AreaSeries id="ND1" ...... />
<mx:AreaSeries id="ND2" ...... />
</mx:series>
</mx:AreaChart>
上面是大概(簡略)的程式碼
現在在我的 AreaChart 裡已經有兩條曲線
而我想要能夠判斷我拖曳到的是哪一條曲線
所以才想說要如何抓到 AreaSeries 裡的 id
可是苦於對於 ActionScript 3.0 的語法不熟
所以找一整個下午都沒看到相關的解決辦法
請問該如何才能抓到值呢?
謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.84.8.238
1F:推 cloudfly:可以用trace(event.target.name,"被按下了");試看看 09/10 01:49
2F:→ cloudfly:event.target可以捕捉到目前點的物件 09/10 01:51
3F:→ cloudfly:.name則是可以得到實體名稱,也就是你想要的id 09/10 01:51
我用這這個方法後所抓到的是 AreaChart 的 id
我想會不會是因為拖曳的地方是在 AreaChart 裡
所以就一直只抓到 AreaChart 的屬性 ~"~a
(PS.我不知道要去哪裡看 trace 的結果 ~"~a 所以我就另外用了一個方法來顯示)
而且我試了幾種方法
public function dragDropFunction(event:DragEvent):void
{
//如何在這裡抓到 AreaSeries 的 id
var AC:AreaChart = event.currentTarget as AreaChart
var AS:AreaSeries = event.currentTarget as AreaSeries
myText4.text = AC.id; //很自然的抓到了 AreaChart 的 id
myText4.text = AS.id; //連拖曳都不行了…更不用說要抓到什麼 id…
//而且是只要一出現 AS.id 的指令就會拖曳失效
}
我也試過了在 AreaSeries 裡使用 dragEnter
這樣雖然能夠抓到 AreaSeries 的 id
但是拖曳效果僅限於拖曳到曲線下面積的時候
一但要向外拖曳時就會失去拖曳效果
所以就算在這裡抓到 AreaSeries 的 id 也沒用
因為一但要向外拖曳就會失效
不知道有沒有方法可以解決
麻煩各位了 謝謝
※ 編輯: jyleef 來自: 219.84.235.215 (09/10 11:08)
4F:推 cloudfly:complier時按Debug的按鈕就可以看到trace的結果了 09/10 12:37
5F:推 cloudfly:另外想問一下,請問你抓id的目的是?? 09/10 13:04
6F:→ jyleef:知道現在拖曳的是哪一條曲線 09/11 14:22