在这段代码中,当我点击按钮时,我正在创建一个新窗口。在新窗口中有TextInput和DropDownList组件。当新窗口打开时,单击DropDownList不会执行任何操作 - 您必须再次单击它以使其打开。但是,首先单击TextInput字段然后尝试打开DropDownList工作没问题。
出现这种情况的原因是什么?这是一个错误还是我做错的事情? Flex 4.1和Flex Hero(2010年9月发布)会出现此问题。
以下是代码,或下载FXP文件here。
// DropDownTest.mxml (application)
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
width="400" height="300">
<fx:Script>
<![CDATA[
private function newWindow():void
{
this.close();
var w:MyWindow = new MyWindow();
w.open();
}
]]>
</fx:Script>
<s:Button label="New Window" click="newWindow()"/>
</s:WindowedApplication>
// MyWindow.mxml (component)
<?xml version="1.0" encoding="utf-8"?>
<s:Window xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
width="400" height="300">
<s:TextInput/>
<s:DropDownList y="30"/>
</s:Window>
答案 0 :(得分:0)
原来这是一个错误。 Adobe建议在“open()”之后调用“setFocus()”并且它有效。有关详细信息,请参阅此处:http://forums.adobe.com/message/3241460#3241460