flash as3 addeventlistener
事件監聽傳遞引數
var sayhello:string = "how are you";
btn1.addeventlistener(mouseevent.click,function (e:mouseevent));
function clickhandlerwitharg(e:mouseevent,arg:string):void
其實發訊息的時候傳引數在2.0
裡面是很方便的,
但3.0
裡面要去寫乙個類去繼承event
這個類,
感覺麻煩了許多,
在我學習3.0
的初期一直不是很理解到了3.0
為什麼變複雜了,
所以剛開始經常會用到擴充套件event
這個類,
但到後來發現只要程式的架構寫好了,
這種方法是可有可無了,
不過今天還是要講解這種方法的使用
.我們先寫乙個繼承event的類:
package net.smilecn
public function get param():object } }
這個乙個很簡單的類,
繼承了event
這個類,
在構造方法裡有乙個super(type),super
的意思是執行父類的構造方法,
也就是執行event
的構造,type
是訊息的型別,
就是訊息的名字,
乙個字串,object
就是我們要傳的引數要用到的乙個變數,
是乙個物件,
我們知道物件是很方便的,
可以儲存1
到多個引數,
下面是乙個get
方法,通過param
這個名字去取_object
這個對像的值
.再來看一下怎麼用這個myevent
類,修改上一節中的檔案
;myclass:
package net.smilecn
private function clickhnadler(event:mouseevent):void));
} }
}我們發現修改**並不多,
由new event
變成了net myevent,
也就是說以前發的訊息是as
自帶的event
事件,現在發的是我們自己寫的myevent
事件,再看引數還有乙個,
這個引數就是我們傳進去的物件,
這個物件有兩個屬性值,
乙個叫a,
值為100,
乙個叫b,
值為200;
再來看文件類
:package net.smilecn
private function myclassmessagehandler(event:myevent):void } }
文件類中修改的地方是偵聽到訊息後執行的方法,
我們發現引數的型別變成了myevent,
因為我們發的是myevent
的事件,
這裡收到事件的型別當然是myevent,
在event.param
就是去取myeevent_object,
就是我們在myclass
傳過的物件了,event.param.a
的值就是100,event.param.b
的值就是200,
這樣我們就達到了傳遞引數的目的了。
addEventListener事件監聽傳遞引數
as3中的addeventlistener事件監聽會自動傳遞乙個事件物件引數給處理函式,可是不能傳遞其他引數.如果要為事件處理函式送引數的話可以用這種方法 見 var sayhello string 歡迎光臨www.flashj.cn flash,ria技術部落格 btn1.addeventlist...
addEventListener 的三個引數
addeventlistener 有三個引數 第乙個引數表示事件名稱 不含 on,如 click 第二個引數表示要接收事件處理的函式 第三個引數為 usecapture,本文就講解它。outdiv middlediv indiv 請在此點選滑鼠。info 上述是我們測試的 根據 info 的顯示來確...
addEventListener第三個引數作用
dom方法 addeventlistener 和 removeeventlistener 是用來分配和刪除事件的函式。這兩個方法都需要三個引數,分別為 事件名稱 string 要觸發的事件處理函式 function 指定事件處理函式的時期或階段 boolean dom事件流如圖 當第三個引數設定為t...