2011-10-17 51 views
0

這已被竊聽我好幾天了,不能似乎永遠google搜索後得到答案......忽略的nativeWindow事件偵聽器

問題很簡單,

我有一個事件監聽器,像這樣一個長方形:

rect.addEventListener(MouseEvent.MOUSE_DOWN, startMove); 

private function startMove(event:MouseEvent):void 
{ 
    this.nativeWindow.startMove(); 
} 

這工作正常。

我也有這個矩形內的按鈕,當我點擊按鈕時,窗口拖動就像我點擊矩形。

我該如何阻止這種情況發生?我嘗試刪除事件,但沒有奏效,我甚至不知道要刪除哪個事件,mouseDown或NativeDrag事件... nativeWindow中沒有stopDrag()函數。有一個簡單的解決方案嗎?

任何幫助高度讚賞!

回答

0

如果事件的target(源自它)是您正在收聽的調度程序,則只需處理該事件。調度員通過event.currentTarget進行識別。因此,這是你的代碼需要什麼樣子:

rect.addEventListener(MouseEvent.MOUSE_DOWN, startMove); 

private function startMove(event:MouseEvent):void 
{ 
    if (event.target == event.currentTarget) 
     this.nativeWindow.startMove(); 
} 

附:我注意到你是Stack Overflow的新手 - 歡迎!如果您發現我的答案有用,請務必將其上傳並通過綠色複選標記接受。

+0

完美的解決方案!無法想象它更簡單。我只需要添加「.parent」到event.target – DominicM