Flex 4:DropDownList 在新窗口中不起作用

发布于 2024-09-29 23:35:05 字数 1426 浏览 5 评论 0原文

在此代码中,当我单击按钮时,我将创建一个新窗口。新窗口中有 TextInput 和 DropDownList 组件。当新窗口打开时,单击 DropDownList 不会执行任何操作 - 您必须第二次单击它才能将其打开。但是,先单击 TextInput 字段,然后尝试打开 DropDownList 就没有问题了。

发生这种情况有什么原因吗?这是一个错误还是我做错了什么? Flex 4.1 和 Flex Hero(2010 年 9 月版)会出现此问题。

下面是代码,或者在此处下载 FXP 文件。

// 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>

In this code I'm creating a new window when I click the button. In the new window are TextInput and DropDownList components. When the new window opens, clicking the DropDownList does nothing - you have to click it a second time round to get it to open. However, click into the TextInput field first and then try opening the DropDownList works no problem.

Any reason why this is happening? Is this a bug or something I'm doing wrong? The issue occurs with Flex 4.1 and Flex Hero (Sept 2010 release).

Below is the code, or download the FXP file 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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱的十字路口 2024-10-06 23:35:05

事实证明这是一个错误。 Adobe 建议在“open()”之后调用“setFocus()”并且它起作用了。请参阅此处了解更多详细信息:http://forums.adobe.com/message/3241460#3241460

Turns out this is a bug. Adobe suggested calling "setFocus()" after "open()" and it worked. See here for further details: http://forums.adobe.com/message/3241460#3241460

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文