2012-07-24 71 views
1

我是一個動作開發者。在開發組件時,有一種方法可以監聽父級的單擊事件並引用該組件內的某個函數。javascript事件模型

如果我將100個組件添加到我的主應用程序中,並且如果我單擊父應用程序,那麼這100個組件將其稱爲它自己的功能。

Component.as 

parentApplication.addEventListener('click', ClickHandler); 

function ClickHandler(event:event) 
{ 
    .... 
} 

什麼是使用JavaScript來實現這個相同的東西?

謝謝。

回答

0

您可以使用提供類似(但不相同)事件處理的jQuery。在你的情況,這將是像

$(childComponent).click(function(eventObject){ 
    childComponent = $(this); 
    ... 
}); 

$(childComponent).bind("click", function(eventObject){ 
    childComponent = $(this); 
    ... 
}); 

注意,綁定是從Flex的數據綁定非常不同的,這是非常像的addEventListener。棘手的事情是對象範圍。在JavaScript(如ActionScript 2或更早版本)中,任何時候處理事件時,都會引發引發事件的對象,而不是監聽事件的父對象,這可能非常不直觀。

更多關於jQuery可以在這裏找到,它的click,bind以及取消綁定功能。

+0

我不想爲每個子組件添加單擊事件。我需要每個子組件監聽文檔的點擊事件並調用它們自己的函數。 – user10 2012-07-25 05:46:31