作者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