Flex Gumbo中如何通过selectionChanging事件和preventDefault()函数阻止用户选定DropDownList特定项目的例子
By Minidxer | August 11, 2009
接下来的Flex Gumbo中如何通过监听selectionChanging事件和调用preventDefault()函数,阻止用户选定DropDownList特定项目。
下面是main.mxml:
- <?xml version="1.0" encoding="utf-8"?>
- <s:Application name="DropDownList_selectionChanging_test"
- xmlns:fx="http://ns.adobe.com/mxml/2009"
- xmlns:s="library://ns.adobe.com/flex/spark"
- xmlns="library://ns.adobe.com/flex/halo">
- <fx:Script>
- <![CDATA[
- import mx.controls.Alert;
- import mx.events.IndexChangedEvent;
- private function dropDownList_selectionChanging(evt:IndexChangedEvent):void {
- var ddl:DropDownList = evt.currentTarget as DropDownList;
- if (ddl.selectedItem != null && ddl.selectedItem.hasOwnProperty("selectable") && !ddl.selectedItem.selectable) {
- evt.stopImmediatePropagation();
- evt.preventDefault();
- }
- }
- private function dropDownList_selectionChanged(evt:IndexChangedEvent):void {
- Alert.show("Spark DropDownList selection was changed.");
- }
- ]]>
- </fx:Script>
- <s:DropDownList id="dropDownList"
- labelField="label"
- prompt="Please select a string..."
- selectionChanging="dropDownList_selectionChanging(event);"
- selectionChanged="dropDownList_selectionChanged(event);"
- width="200"
- horizontalCenter="0"
- top="10">
- <s:dataProvider>
- <s:ArrayList>
- <fx:Object label="The" selectable="false" />
- <fx:Object label=" Quick" />
- <fx:Object label=" Brown" />
- <fx:Object label=" Fox" />
- <fx:Object label=" Jumps" />
- <fx:Object label=" Over" />
- <fx:Object label="The" selectable="false" />
- <fx:Object label=" Lazy" />
- <fx:Object label=" Dog" />
- </s:ArrayList>
- </s:dataProvider>
- </s:DropDownList>
- </s:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子
Topics:
DropDownList, Gumbo |
No Comments » |
Tags: Gumbo, preventDefault, selectionChanged, selectionChanging