:: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

          事件對象重要的屬性和方法

            flash.event.Event類的全部6個屬性都是只讀屬性,這些屬性提供了發生事件的基本信息。我們已經討論過target和currentTarget屬性(見6.2.1節的事件屬性:target和currentTarget(見第103頁)),并在"EventJourney的事件偵聽器myEventhandler中使用eventPhase屬性來獲取事件旅程的階段。Event類也提供了許多方法。我們只介紹事件對象常用的屬性和方法,更詳細信息請參考"Adobe FlexTM 3語言參考"(http://livedocs.adobe.com/flex/3/langref/)。


          1.target和currentTarget屬性
           

            如我們剛才提到的,在事件被觸發后,Flash Player就會創建事件對象,并逐一檢查"事件旅程"上的節點是否針對發生的事件注冊了偵聽器,為事件對象賦值,并調用偵聽器。事件對象源自flash.events.Event類。事件對象currentTarget屬性的值會在事件流中改變,而target屬性則不會變化。(關于事件對象,我們將在6.3節(見第106頁)深入討論)由此,開發者能夠通過

            currentTarget屬性獲知事件旅程現在停在了哪個節點上。

          currentTarget屬性:事件旅程中,currentTarget屬性代表了Flash Player正在檢查的節點對象。比如,當Flash Player遍歷到ctnButtons對象,那么event.currentTarget就是ctnButtons對象。


            target屬性:target屬性就是發生事件的對象。在信號燈應用中,event.target就是用戶所點擊的按鈕對象,在事件旅程中,該屬性的值始終不變。信號燈應用中,偵聽器myEventHandler利用event.target來獲取被點擊按鈕上的標簽數據。此時賦給event.currentTarget屬性的則是HBox容器對象ctnButtons。

          2. type屬性(String類型)

            當用戶進行鼠標操作時,Flash Player會自動調度鼠標事件MouseEvent。操作可能是鼠標點擊、移動、滑動滾輪等。這些不同的操作都是通過事件類型來標記的。

          type屬性返回的字符串表明事件的類型。代表事件類型的字符串是大小寫敏感的。Flex以常量的形式內置了許多事件類型,如Event.unloaded和MouseEvent.CLICK。


          . cancellable屬性(String類型)和preventDefault()方法

            默認情況下,許多事件都有 Flash Player 執行的關聯行為。比如,如果用戶在文本字段中鍵入一個字符,則默認行為就是在文本字段中顯示該字符。如果需要取消TextEvent.TEXT_INPUT事件的默認行為,你可以使用preventDefault()方法來阻止顯示所鍵入的字符。

          不可取消行為的一個示例是與Event.REMOVED事件關聯的默認行為,只要Flash Player從顯示列表中刪除顯示對象,就會生成該事件。由于無法取消默認行為(刪除元素),因此preventDefault()方法對此默認行為無效。

            開發者可以使用Event.cancelable屬性來檢查是否可以阻止與特定事件關聯的默認行為。如果屬性Event.cancelable的值為true,則可以使用preventDefault()來取消默認行為,否則,preventDefault()無效。

           

          主站蜘蛛池模板: 彭阳县| 丰宁| 梧州市| 岳阳市| 台东县| 桐城市| 淳安县| 伽师县| 青河县| 和硕县| 共和县| 林西县| 大新县| 马关县| 秀山| 科尔| 北京市| 玉门市| 纳雍县| 高邮市| 外汇| 大化| 武平县| 康平县| 郁南县| 商城县| 宾川县| 绥棱县| 怀柔区| 辉县市| 威宁| 霍山县| 湘乡市| 基隆市| 沁源县| 淅川县| 永修县| 平江县| 广州市| 昌乐县| 新沂市|