0
我有一个可编辑mx:Combobox。我想捕获两个事件:如何捕获可编辑组合框上的编辑和选择事件?
当用户输入一些文本或编辑一些文本时。
当用户更改选择(从组合框中选择一个项目)。
这可能吗?我一直在使用change event
,但它在两种情况下被解雇,我无法区分它。有没有更好的方法来做到这一点?
我有一个可编辑mx:Combobox。我想捕获两个事件:如何捕获可编辑组合框上的编辑和选择事件?
当用户输入一些文本或编辑一些文本时。
当用户更改选择(从组合框中选择一个项目)。
这可能吗?我一直在使用change event
,但它在两种情况下被解雇,我无法区分它。有没有更好的方法来做到这一点?
使用所选项目的更改事件,使用keyUp事件进行文本编辑(注意按住Shift + Key触发键盘两次)。更改将被触发,但只是检查selectedItem是否为空来解决这个问题。此外,编辑ComboBox不可用Flex 4中,因此,如果您移动的想法很快Flex 4中,记住这一点:
private var ac:ArrayCollection;
private function onInit():void{
ac = new ArrayCollection([{name:"john"},
{name:"Stephen"}]);
myCombo.dataProvider = ac;
myCombo.labelField = "name";
}
private function onComboChange(event:Event):void{
if(event.target.selectedItem != null){
trace("Item Selected: " + event.target.selectedLabel);
}
}
private function onKeyUp(event:Event):void{
trace(event.target.text);
}
<mx:ComboBox id="myCombo" x="50" y="10" editable="true" change="onComboChange(event)"
keyUp="onKeyUp(event)"/>
我不认为有对both.Only不同的事件改变事件你可以做的是,一旦更改事件被触发,在eventHandler中,你可以比较这些值,编写一个逻辑来区分这两个事件。 – Neeraj 2011-02-15 06:41:34