您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“什么是Flex事件機制”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“什么是Flex事件機制”這篇文章吧。
Flex事件機制介紹
1.什么是Flex事件機制
Flex事件可以看作是一種觸發機制,當滿足了一定的條件后,會觸發這個Flex事件。比如MouseEvent就是指的當鼠標進行操作之后觸發的一系列的Flex事件。很多控件中都有clickFlex事件,這個Flex事件就是一個MouseEvent的實例,當點擊鼠標后,系統會自動拋出一個名稱為click的MouseEventFlex事件(這種方法我們將在后面介紹到)。如果此時在click上注冊一個方法,那么觸發該Flex事件時就會執行這個方法。
在我們寫代碼時,編輯器的代碼補全提示列表中,有很多不同的圖標。那些帶有閃電的就是Flex事件,三個小塊的就是樣式,空心圓圈的是屬性,實心圓點的是公有方法,還有一個是效果。
我們能在這個列表中看到的Flex事件,我把它稱之為Flex事件注冊通道。(官方仍然稱它為Flex事件,但是它又和普通的Flex事件含義不同。關于Flex事件注冊通道會再下面講述到)
2.Flex事件機制中Flex事件注冊通道
上面說到了,這些通道是只能在mxml的代碼提示中可以看到的,他的作用就是給mxml組件提供Flex事件觸發時所執行的方法的注冊通道,而且能在代碼提示中可見,這樣給組件提供了很大的抽象的好處,我們可以很清楚的告訴組件的使用者,組件里包含哪些Flex事件給你調用。
為什么把他區別對待?除了代碼提示外,他還有一些實現上的不同。
Button的clickFlex事件是繼承自核心類InteractiveObject,遺憾我們看不到他的源碼,但是說明了“Flex事件注冊通道”是可以繼承的。
我們會在自定義Flex事件中講述到如何聲明“Flex事件注冊通道”。
3.Flex事件機制中Flex事件觸發方法
注冊通道中如果填入了函數,那么就代表觸發該Flex事件時,會執行這個方法。
click="clickHandler(event)"
我們看到這個方法有一個event對象作為參數傳入,新人可能會問到,這個event對象哪里來的?我也沒聲明這個變量啊。他實際上是注冊通道傳給他的,默認變量名就是event。我們如果想在Flex事件觸發時傳其他的參數,可以通過自定的Flex事件對象來實現。
這個對象就是這個組件分發的Flex事件對象,即type為“click”的MouseEvent的一個實例。
這個event對象包含了觸發該Flex事件時的各種信息,比如觸發Flex事件對象是哪個,監聽對象是哪個,觸發時鼠標點在哪里等等,不同的event類會包含不同的屬性,比如KeyboardEvent包含了鍵盤點擊了哪個鍵。
我們也可以通過自定義一個Flex事件類,來傳遞我們自己想要的各種信息。
以上是“什么是Flex事件機制”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。