Flex組件開發(fā)常見問題解決方案
本文和大家重點(diǎn)討論一下Flex組件開發(fā)過程中遇到的常見問題及解決方案,相信通過本文的學(xué)習(xí)你對(duì)Flex組件開發(fā)有更加深刻的認(rèn)識(shí)。
Flex組件開發(fā)總結(jié)
1.如何監(jiān)聽鍵盤事件?
- <mx:TextAreaidmx:TextAreaid="textEditor"keyDown="sendKeyHandler(event)"x="11"y="366"width="399"/>
- privatefunctionsendKeyHandler(evt:KeyboardEvent):void
- {
- //Enter鍵
- if(evt.keyCode==13)
- {
- this.sendTxt();
- return;
- }
- }
代碼說明:有兩種類型的鍵盤事件:KeyboardEvent.KEY_DOWN和KeyboardEvent.KEY_UP
以上是監(jiān)聽的是回車事件
要是想監(jiān)聽組合鍵,例如:Ctrl+Enter鍵,代碼如下:
- if(evt.keyCode==13&&evt.ctrlKey)
- {
- }
2.Flex組件開發(fā)時(shí)怎么控制RichTextEditor的控制欄?
利用showControlBar屬性,控制RichTextEditor的控制欄,這樣把整個(gè)控制欄都關(guān)閉了
要是想分別控制控制欄中各寄宿控件,可以參考如下代碼:
- this.textEditor.alignButtons.height=0;
- this.textEditor.alignButtons.visible=false;
- this.textEditor.bulletButton.height=0;
- this.textEditor.bulletButton.visible=false;
- this.textEditor.linkTextInput.height=0;
- this.textEditor.linkTextInput.visible=false;
- this.textEditor._RichTextEditor_VRule1.height=0;
- this.textEditor._RichTextEditor_VRule1.visible=false;
- this.textEditor._RichTextEditor_VRule2.height=0;
- this.textEditor._RichTextEditor_VRule2.visible=false;
當(dāng)然,還可以參考這文章
http://blog.minidx.com/2008/12/29/1841.html
3.Flex組件開發(fā)時(shí)控件雙擊事件(DoubleClickEvent)怎么沒反應(yīng)?
- <mx:ButtondoubleClickEnabledmx:ButtondoubleClickEnabled="true"doubleClick="doubleClickHandler(event)"x="48"y="32"label="Button"/>
- privatefunctiondoubleClickHandler(evt:MouseEvent):void
- {
- Alert.show("doubleClick");
- }
代碼說明:
doubleClickEnabled屬性:指定對(duì)象是否接收doubleClick事件。默認(rèn)值為false,這意味著在默認(rèn)情況下,不接收doubleClick事件。如果將doubleClickEnabled屬性設(shè)置為true,實(shí)例在其范圍內(nèi)接收doubleClick事件
4.Flex組件開發(fā)時(shí)怎么在TextArea的光標(biāo)位置插入字符?
- <mx:TextAreaidmx:TextAreaid="textEditor"x="11"y="366"width="399"/>
- privatefunctioninsertString(insertStr:String):void
- {
- if(this.textEditor.selectionBeginIndex==this.textEditor.selectionEndIndex)
- {
- varstartPart:String=this.textEditor.text.substring(0,this.textEditor.selectionBeginIndex);
- varendPart:String=this.textEditor.text.substring(this.textEditor.selectionEndIndex,
- this.textEditor.text.length);
- startPart+=insertStr;
- startPart+=endPart;
- this.textEditor.text=startPart;
- }
- else
- {
- this.textEditor.text=insertStr;
- }
- }
5.實(shí)現(xiàn)TextArea控件的滾動(dòng)條始終保持在最下面?
- this.txt_content.addEventListener(FlexEvent.VALUE_COMMIT,VALUE_COMMITHandler);
- privatefunctionVALUE_COMMITHandler(evt:FlexEvent):
- void{txt_contenttxt_content.verticalScrollPosition=
- txt_content.maxVerticalScrollPosition;
- }
代碼說明:這段代碼是為了實(shí)現(xiàn)TextArea控件的滾動(dòng)條始終保持在最下面,以方便用戶查看聊天信息
要是VBox控件需要實(shí)現(xiàn)類似效果,可以看如下代碼:
- <mx:VBoxidmx:VBoxid="vd"updateComplete="updateCompleteHandler(event)"
- x="10"y="10"width="399"height="348">
- privatefunctionupdateCompleteHandler(evt:FlexEvent):void
- {
- thisthis.vd.verticalScrollPosition=this.vd.maxVerticalScrollPosition;
- }
【編輯推薦】
- Flex組件開發(fā)總結(jié)
- 從Flex Builder更名看Flash平臺(tái)戰(zhàn)略
- Flex及FlexBuilder2.0開發(fā)環(huán)境詳解
- FlexBuilder3.0與Eclipse3.4的***結(jié)合
- 學(xué)習(xí)筆記 FlexBuilder2.0中如何使用基于Lists的控件