作者etrexetrex (moonet)
看板Flash
标题[心得] MouseEvent.DOUBLE_CLICK
时间Wed Jan 11 15:30:38 2012
=== 一般情况 ====
假设画面上有个元件 a
使用 double click 事件的方法是这样写的:
a.doubleClickEnabled = true;
a.addEventListener(MouseEvent.DOUBLE_CLICK, onDoubleClick);
function onDoubleClick(e:MouseEvent):void{
trace("onDoubleClick");
}
测试顺利完成
=== 特殊情况 ====
假设元件a只是用来装元件b的容器,而元件b也是个InteractiveObject的时候
则必须要写成这样:
a.b.doubleClickEnabled = true;
a.addEventListener(MouseEvent.DOUBLE_CLICK, onDoubleClick);
function onDoubleClick(e:MouseEvent):void{
trace("onDoubleClick");
}
doubleClickEnabled 属性必须指定到滑鼠真正点击到的目标身上才有作用
=== 问题和解法 ===
有时候我们根本不知道点击到的目标会是谁
而只是想要让 onDoubleClick 乖乖触发就好
那麽可以这样写:
a.addEventListener(MouseEvent.CLICK, onClick);
function onClick(e:MouseEvent):void{
e.target.doubleClickEnabled = true;
}
a.addEventListener(MouseEvent.DOUBLE_CLICK, onDoubleClick);
function onDoubleClick(e:MouseEvent):void{
trace("onDoubleClick");
}
让程式自己找到那个该加上 doubleClickEnabled = true 的目标
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.137.198.18
1F:推 ticore:赞! 01/12 23:45