国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

2.1.檢查按鈕點擊

2024-04-29 18:53:30
字體:
來源:轉載
供稿:網友
2.1.1. 問題
我想執行一段任務以便對用戶的交互作出響應,比如當用戶點擊一個按鈕時在控制臺輸出名稱列表。
2.1.2. 解決辦法
使用<mx:Button>標簽的click 事件屬性來設定一個click 事件處理程序。也可以在ActionScript 中通過Button 實例的addEventListener 方法來添加click 事件的檢查器來達到同樣的效果。
2.1.3. 討論
如下的代碼展示了如何在MXML 中是用<mx:Button>的click 事件屬性來檢查一個按鈕行為:
+展開
-XML
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
<mx:Button id="btn" label="Show Names" click="showNames(event)"/>
<mx:Script>
<![CDATA[
private function showNames(evt:MouseEvent):void
{
var temp:Array =
new Array("George","Tim","Alex","Dean");
trace(temp.toString());
}

]]>
</mx:Script>
</mx:Application>

上面的代碼創建了一個包含名為btn 的按鈕控件實例的應用程序。當這個btn 的按鈕實例被點擊時,應用程序會輸出一列名字到控制臺。可以看到btn 這個按鈕的click 事件屬性指向了一個方法showNames:
+展開
-XML
<mx:Button id="btn" label="Show Name click="showNames(event)"/>

每當用戶點擊這個按鈕,Flex 框架會發布一個MouseEvent.CLICK 事件。上面這行代碼設定了在每次click 事件被發布的時候,都去調用showNames 方法,然后一個名字的數組就被創建以及輸出到了控制臺中。需要注意的是,MouseEvent 類型的事件實例會被自動傳遞到處理的函數。根據發出的事件,查詢此對象可以獲得更多關于該事件本身的信息。在調試模式(Eclipse 中F11)中運行程序,你就會看到控制臺窗口有如下輸出。
George,Tim,Alex,Dean
事件檢查器也能通過ActionScript 來設定。下面的例子就是使用ActionScript 設定了showNames 和showTitles 兩個檢查器到btn 這個按鈕實例。
+展開
-XML
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
creationComplete="initApp(event);">
<mx:Button id="btn" label="Show Names"/>
<mx:Script>
<![CDATA[
import mx.events.FlexEvent;
private function initApp(evt:FlexEvent):void
{
btn.addEventListener(MouseEvent.CLICK,showNames);
btn.addEventListener(MouseEvent.CLICK,showTitles);
}
private function showNames(evt:MouseEvent):void
{
var temp:Array =
new Array("George","Tim","Alex","Dean");
trace(temp.toString());
}
private function showTitles(evt:MouseEvent):void
{
var temp:Array = new Array("Director","Vice-
President","President","CEO");
trace(temp.toString());
}

]]>
</mx:Script>
</mx:Application>

注意,<mx:Application>的creationComplete 事件用來設定了按鈕點擊事件的2 個檢查器,showNames 和showTitles.
+展開
-ActionScript
private function initApp(evt:FlexEvent):void
{
btn.addEventListener(MouseEvent.CLICK,showNames);
btn.addEventListener(MouseEvent.CLICK,showTitles);
}

Running this application in debug mode generates the following output in the Console window:
在調試模式中運行這個程序,控制臺窗口會輸出如下內容:
George,Tim,Alex,Dean
Director,Vice-President,President,CEO

檢查器根據被注冊時的順序進行調用。因為showNames 比較showTitles 早注冊檢查,所以名字列表比標題列表先生成輸出。如果要改變他們(檢查器)的執行順序,可以修改他們對按鈕注冊事件檢查的順序。甚至,你可以在注冊檢查器時設定它們的優先級,例如下面的代碼:
+展開
-ActionScript
private function initApp(evt:FlexEvent):void
{
btn.addEventListener(MouseEvent.CLICK,showNames);
btn.addEventListener(MouseEvent.CLICK,showTitles);
}

使用修改后的代碼,再次在調試模式中運行程序,我們可以看到:
Director,Vice-President,President,CEO
George,Tim,Alex,Dean
使用大的優先級值(priority)注冊的檢查器會比使用小優先級的優先級注冊的檢查器更早的運行。如果有超過一個檢查器適用了相同的優先級值,則執行順序還是依照檢查器注冊的順序。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 青海省| 呈贡县| 综艺| 芜湖县| 无极县| 东乌珠穆沁旗| 淮滨县| 宾川县| 上饶县| 穆棱市| 梓潼县| 扬中市| 区。| 高阳县| 阿拉善左旗| 莱阳市| 册亨县| 泽库县| 会泽县| 禹城市| 诸暨市| 乐清市| 射阳县| 富源县| 沂水县| 临泉县| 霍州市| 无锡市| 信阳市| 紫云| 凤翔县| 山东省| 炉霍县| 宁海县| 林西县| 东光县| 玉林市| 梨树县| 奇台县| 勃利县| 周口市|