事件的委派

2021-09-06 03:19:04 字數 2017 閱讀 1905

必須宣告事件的委派類。如

public

delegate

void

meltdownhandler (

object

reactor,

meltdowneventargs mymea);

全部的事件處理器委派都必須返回void並接受兩個引數。第乙個引數為物件,它代表產生事件的物件--在下面例子中,表示可能熔化的反應堆。

第二個引數是從乙個system.eventargs類派生而來的類的物件。eventargs類是事件資料的基類,並代表了事件的細節。在這個例子中,為:

public

class

meltdowneventargs : eventargs

//define a property to get the message

public

string

message}}

宣告reactor類

下一步宣告乙個類來代表反應堆,設這個類為reactor.reactor類包含onmeltdown事件和meltdownhandler委派類的宣告。reactor類宣告:

//

declare the reactor class

public

class

reactor}}

} 可以看到,reactor類宣告了乙個叫

temperature的私有域,當其大於1000度是,觸發事件

onmeltdown(

this

, mymea);

還可宣告乙個reactormonitor類監視reactor類,如下:

//

declare the reactormonitor class

public

class

reactormonitor

//define the displaymessage() method

public

void

displaymessage(

object

myreactor, meltdowneventargs mymea)}

全部**為:

1/*2

example12_4.cs illustrates the use of an event3*/

45using

system;67

8//declare the meltdowneventargs class (implements eventargs)

9public

class

meltdowneventargs : eventargs

1020

21//

define a property to get the message

22public

string

message

2328}29

30}3132

33//

declare the reactor class

34public

class

reactor

3563}64

}6566}

6768

69//

declare the reactormonitor class

70public

class

reactormonitor

7179

80//

define the displaymessage() method

81public

void

displaymessage(

82object

myreactor, meltdowneventargs mymea83)

848788}

8990

91class

example12_5

92117

118}

事件的委派

有的時候,需要實現乙個列表發生響應事件,但是新新增的也實現,又可以提高效能的方法 btno1 新增新鏈結 for var i 0 i 但是 為每個超連結都繫結乙個單擊函式 這裡我們為每個超連結都繫結乙個單擊響應函式,這種操作比較麻煩,而且這些操作只能為已有的超連結設定事件,而新新增的的超連結必須重新...

事件捕獲事件冒泡事件委派

當事件發生時,事件從dom樹頂層節點,一直傳播到目標節點,這個階段就叫做事件捕獲階段 當事件發生時,事件從目標節點,一直傳播到dom樹頂層節點,這個階段就叫做事件冒泡階段 當事件發生時,事件傳播順序為 事件捕獲階段 事件目標階段 事件冒泡階段 function stopbubble e else f...

js實現事件委派

事件委派,通俗的說就是將元素的事件委託給它的父級或者更外級的元素處理,它的實現機制就是事件冒泡。使用函式封裝事件委派功能 第乙個引數是被事件委派元素也就是 事件委派者的父元素 第二個引數是事件的型別比如 click 事件 第三引數是事件委派者元素的選擇器 第四個引數是事件執行函式 function ...