=== 一般情況 ====
假設畫面上有個元件 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 的目標
沒有留言:
張貼留言