事件處理基礎知識

2021-06-18 02:30:04 字數 1821 閱讀 4873

您可以將事件視為 swf 檔案中發生的程式設計師感興趣的任何型別的事件。例如,大多數 swf 檔案都支援某些型別的使用者互動,無論是像響應滑鼠單擊這樣簡單的使用者互動,還是像接受和處理表單中輸入的資料這樣複雜的使用者互動。與 swf 檔案進行的任何此類使用者互動都可以視為事件。也可能會在沒有任何直接使用者互動的情況下發生事件,例如,從伺服器載入完資料或者連線的攝像頭變為活動狀態時。

在 actionscript 3.0 中,每個事件都由乙個事件物件表示。事件物件是 event 類或其某個子類的例項。事件物件不但儲存有關特定事件的資訊,還包含便於操作事件物件的方法。例如,當 flash player 檢測到滑鼠單擊時,它會建立乙個事件物件(mouseevent 類的例項)以表示該特定滑鼠單擊事件。

建立事件物件之後,flash player 即"排程"該事件物件,這意味著將該事件物件傳遞給作為事件目標的物件。作為所排程事件物件的目標的物件稱為"事件目標"。例如,當連線的攝像頭變為活動狀態時,flash player 會向事件目標直接排程乙個事件物件,此時,該事件物件就是代表攝像頭的物件。但是,如果事件目標在顯示列表中,則在顯示列表層次結構中將事件物件向下傳遞,直到到達事件目標為止。在某些情況下,該事件物件隨後會沿著相同路線在顯示列表層次結構中向上"冒泡"回去。顯示列表層次結構中的這種遍歷行為稱為"事件流"。

您可以使用事件偵聽器"偵聽"**中的事件物件。"事件偵聽器"是您編寫的用於響應特定事件的函式或方法。要確保您的程式響應事件,必須將事件偵聽器新增到事件目標,或新增到作為事件物件事件流的一部分的任何顯示列表物件。

無論何時編寫事件偵聽器**,該**都會採用以下基本結構(以粗體顯示的元素是佔位符,您將針對具體情況對其進行填寫):

functioneventresponse(eventobject:eventtype):void

eventtarget.addeventlistener(eventtype.event_name,eventresponse);

此**執行兩個操作。首先,它定義乙個函式,這是指定為響應事件而執行的動作的方法。接下來,呼叫源物件的addeventlistener()方法,實際上就是為指定事件"訂閱"該函式,以便當該事件發生時,執行該函式的動作。當事件實際發生時,事件目標將檢查其註冊為事件偵聽器的所有函式和方法的列表。然後,它依次呼叫每個物件,以將事件物件作為引數進行傳遞。

您需要在此**中更改四項內容以建立自己的事件偵聽器。第一,必須將函式名稱更改為要使用的名稱(必須在兩個位置更改此內容,**將在此處顯示eventresponse)。第二,必須為要偵聽的事件(**中的eventtype)所排程的事件物件指定相應的類名稱,並且必須為特定事件(列表中的event_name)指定相應的常量。第三,必須針對排程事件(此**中的eventtarget)的物件呼叫addeventlistener()方法。您可以選擇更改用作函式引數(此**中的eventobject)的變數的名稱。

下面是常見的事件處理任務,本章將介紹其中的每項任務:

從類中排程事件

建立自定義事件型別

事件基礎知識

什麼是事件 是物件內部狀態發生了變化,或者物件做某些動作時 或做之前,做之後 向外界發出的通知。註冊時間的基本形式 1註冊事件偵聽器 處理事件的物件.addeventlistener 事件型別,偵聽器函式 2定義事件偵聽器 function 偵聽器函式 e 事件類 void 預設為void 此處為響...

js事件 基礎知識

常用的事件 onclick 滑鼠單擊 ondblclick 滑鼠雙擊 onkeyup 按下並釋放鍵盤上的乙個鍵時觸發 onchange 文字內容或下拉列表中的選項發生改變 onfocus 獲得焦點,表示文字框等獲得滑鼠游標 onblur 失去焦點,表示文字框等失去滑鼠游標 onmouseover 滑...

js基礎知識 閉包,事件處理,原型

閉包 其實就是js 在執行的時候會建立變數物件的乙個作用域鏈,識別符號解析的時候會沿著作用域鏈一級一級的網上搜尋,最後到達全域性變數停止。所以某個函式可以訪問外層的區域性變數和全域性變數,但是訪問不了裡層的變數 with和catch語句都會在作用域的前端新增乙個變數物件 function build...