2011-09-27 106 views
1

我已經做了一個層次結構,其中有一個主頁面,使用add元素我附加了一個組件類型爲mxml的組。單擊主頁面上的一個按鈕時,應該在該組類型的mxml組件中添加類型組的子項以及兩個按鈕。現在使用其中一個按鈕,我附加了另一個組件mxml類型組。問題是,即使它們重疊,我仍然可以超過第一組組件mxml的子組。我怎樣才能停止這個鼠標事件發生。如何停止在flex中獲取鼠標單擊事件

+0

它最好放一些mxml代碼來解釋你的層次結構。無論如何,就我的查詢而言,您可以在事件處理函數中處理事件後使用event.stopImmediatePropagation()。 –

+0

像@ M.D。說一些代碼會非常有幫助 –

+0

發佈一些代碼,不知道你想要什麼,通過添加mouseChildren = false和mouseEnabled = false,鼠標事件不會生成。 –

回答

1

我認爲這些事件通常會冒泡到父組件。 您可以嘗試使用您的鼠標點擊事件偵聽器下面的代碼來阻止進一步的傳播:

private function onMouseClicked(event: MouseEvent): void { 
    event.stopPropagation(); 
    ... do whatever you wanted when smth was clicked ... 
} 
1

通過設置啓用,mouseChildren,將mouseEnabled設置爲false,將禁用整個組件和它的孩子。下面的例子

private var myPreviousGroupComponent:Group = null; 
function addNewGroup():void 
{ 
    if(myPreviousGroupComponent != null) 
    { 
     myPreviousGroupComponent.enabled = false; 
     myPreviousGroupComponent.mouseChildren = false; 
     myPreviousGroupComponent.mouseEnabled = false; 
    } 

    var newGroup:Group = new Group(); 
    addElement(newGroup); 

    myPreviousGroupComponent = newGroup; 
} 
相關問題