精華區beta Flash 關於我們 聯絡資訊
=== 一般情況 ==== 假設畫面上有個元件 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