2013-06-23 56 views
0

什麼是目標實例?我有點困惑。它是一個'參數'嗎?目標聲明。這是什麼意思? - 動作腳本

在這段代碼中,event.target的用途是什麼?它有什麼作用?

addEventListener(MouseEvent.MOUSE_OVER , hover); 
function hover(event:MouseEvent):void 
{ 
    event.target.alpha = .4; 
    trace("Now over " + event.target.name); 
} 

addEventListener(MouseEvent.MOUSE_OUT , normal); 
function normal(event:MouseEvent):void 
{ 
    event.target.apha = 1; 
    trace("Now Off " + event.target.name); 
} 

回答

0

事件目標是事件起源於的對象。對於event flow,這是相位從捕捉切換到冒泡的地方。

因此,如果發生鼠標懸停/懸停事件,這就是鼠標實際懸停在/懸停的位置。由於捕獲/冒泡,這不必是您附加事件偵聽器的對象(可通過currentTarget訪問)。


在回答您的評論:

event僅僅是保存有關已發生的特定事件的一些信息(在你的情況下,鼠標輸入/輸出事件)的對象,並作爲傳遞事件hanlder的參數,所以它可以查詢有關事件的一些信息。

Event類型的任何對象具有屬性target其是參考行爲的對象如在此特定事件實例的目標。對於鼠標事件,這通常是顯示列表中的某個可視對象(例如另一個動畫片段,形狀或按鈕)。那些display objects有一個屬性alpha,它獲取或設置它們的透明度值,使它們在顯示時透明或不透明。

所以,當你鏈接所有這一切,你得到event.target.alpha首先獲取事件實例,獲取其目標,然後獲取目標的alpha值。同樣,有event.target.name它獲取事件目標的名稱。

+0

首先,我想說一句:非常感謝您花時間回覆這篇文章!對我來說意味着很多 那麼下面的權利是? 事件。 - 它是你定義的事件 目標 - 它的目標是什麼,目標是你的鼠標結束了什麼? Alpha - 該物體的透明度 我感謝您的幫助! – GeekAkash

+0

@GeekAkash我編輯了我的問題,希望能夠回答這些後續問題。順便說一句。如果答案對你有幫助,你應該[upvote](http://stackoverflow.com/help/someone-answers)。 – poke

+0

是的非常有幫助!謝謝:D我沒有足夠的聲譽,因爲我是新人,但我一定會很快! :) – GeekAkash

0

targetEvent

在處理函數中,你必須接受一個參數,它是一個Event(你是指當你addEventListener的功能)的屬性。當處理函數由於相關事件被調用而被調用時,它被賦予對該事件的引用。

function hover(event:MouseEvent):void 
// ------------^^^^^ This parameter refers to the dispatched Event. 

通過該引用,你可以訪問調度的事件,其中之一是target正如我前面提到的性能。

事件目標。該屬性包含目標節點。例如,如果用戶單擊確定按鈕,則目標節點是包含該按鈕的顯示列表節點。

在大多數情況下,通常使用Event的currentTarget屬性更合適,該屬性指的是添加事件偵聽器的對象。