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

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

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


          1.target和currentTarget屬性
           

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

            currentTarget屬性獲知事件旅程現(xiàn)在停在了哪個(gè)節(jié)點(diǎn)上。

          currentTarget屬性:事件旅程中,currentTarget屬性代表了Flash Player正在檢查的節(jié)點(diǎn)對象。比如,當(dāng)Flash Player遍歷到ctnButtons對象,那么event.currentTarget就是ctnButtons對象。


            target屬性:target屬性就是發(fā)生事件的對象。在信號燈應(yīng)用中,event.target就是用戶所點(diǎn)擊的按鈕對象,在事件旅程中,該屬性的值始終不變。信號燈應(yīng)用中,偵聽器myEventHandler利用event.target來獲取被點(diǎn)擊按鈕上的標(biāo)簽數(shù)據(jù)。此時(shí)賦給event.currentTarget屬性的則是HBox容器對象ctnButtons。

          2. type屬性(String類型)

            當(dāng)用戶進(jìn)行鼠標(biāo)操作時(shí),F(xiàn)lash Player會自動調(diào)度鼠標(biāo)事件MouseEvent。操作可能是鼠標(biāo)點(diǎn)擊、移動、滑動滾輪等。這些不同的操作都是通過事件類型來標(biāo)記的。

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


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

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

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

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

           

          主站蜘蛛池模板: 大新县| 定襄县| 四平市| 华容县| 海盐县| 四会市| 合肥市| 佛教| 北碚区| 南丹县| 常山县| 武川县| 钦州市| 新龙县| 玉门市| 南阳市| 西乡县| 佳木斯市| 钟山县| 连江县| 布尔津县| 博野县| 依安县| 中卫市| 平原县| 无锡市| 长顺县| 慈利县| 曲沃县| 安徽省| 大余县| 胶南市| 依兰县| 双峰县| 巴青县| 贵州省| 苏尼特右旗| 北流市| 孝义市| 佳木斯市| 沁源县|