Actionscript 3 如何在Flex/MXML中使输入文本控件为creationComplete上的输入做好准备?

Actionscript 3 如何在Flex/MXML中使输入文本控件为creationComplete上的输入做好准备?,actionscript-3,flash-builder,mxml,Actionscript 3,Flash Builder,Mxml,我的小部件中有以下应用程序标记代码: <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:local="*" width="100%" height="100%" minWidth="200" minHeight="200" layout="absolute" creationComplete="init()" def

我的小部件中有以下
应用程序
标记代码:

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
            xmlns:local="*"
            width="100%" height="100%" minWidth="200" minHeight="200" layout="absolute"
            creationComplete="init()" 
            defaultButton="{Send_btn}">
然而,我不能在页面加载后输入任何文本。我从视觉上看到,
Input\u txi
有焦点,但按键没有任何作用。我需要单击
Input\u txi
,然后才能输入任何文本

如何才能让我从头开始

编辑1

不起作用,既不像示例中那样,也不使用jQuery:

    <script type="text/javascript" src="swfobject.js"></script>
    <script type="text/javascript" src="jquery-1.7.1.js"></script>
    <script type="text/javascript">
        // For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. 
        var swfVersionStr = "${version_major}.${version_minor}.${version_revision}";
        // To use express install, set to playerProductInstall.swf, otherwise the empty string. 
        var xiSwfUrlStr = "${expressInstallSwf}";
        var flashvars = {};
        var params = {};
        params.quality = "high";
        params.bgcolor = "${bgcolor}";
        params.allowscriptaccess = "sameDomain";
        params.allowfullscreen = "true";
        var attributes = {};
        attributes.id = "${application}";
        attributes.name = "${application}";
        attributes.align = "middle";
        swfobject.embedSWF(
            "${swf}.swf", "flashContent", 
            "${width}", "${height}", 
            swfVersionStr, xiSwfUrlStr, 
            flashvars, params, attributes, function(){
                /*
                var swf = $("#" + attributes.id);
                swf.attr("tabindex", 0);
                swf.focus();
                */

                var f = swfobject.getObjectById(attributes.id);
                f.tabIndex = 0;
                f.focus();
            });
        // JavaScript enabled so display the flashContent div in case it is not replaced with a swf object.
        swfobject.createCSS("#flashContent", "display:block;text-align:left;");

    </script>

//对于版本检测,设置为所需的Flash Player最低版本,或0(或0.0.0)表示无版本检测。
var swfVersionStr=“${version\u major}.${version\u minor}.${version\u revision}”;
//要使用快速安装,请设置为playerProductInstall.swf,否则将显示空字符串。
var xiswfullstr=“${expressInstallSwf}”;
var flashvars={};
var params={};
params.quality=“高”;
params.bgcolor=“${bgcolor}”;
params.allowscriptaccess=“sameDomain”;
params.allowfullscreen=“true”;
var属性={};
attributes.id=“${application}”;
attributes.name=“${application}”;
attributes.align=“middle”;
swfobject.embeddeswf(
“${swf}.swf”,“flashContent”,
“${width}”、“${height}”,
swfVersionStr、Xiswfullstr、,
flashvars、参数、属性、函数(){
/*
var swf=$(“#”+attributes.id);
swf.attr(“tabindex”,0);
swf.focus();
*/
var f=swfobject.getObjectById(attributes.id);
f、 tabIndex=0;
f、 焦点();
});
//启用JavaScript,以便在未替换为swf对象时显示flashContent div。
createCSS(“#flashContent”,“显示:块;文本对齐:左;”);

当浏览器加载页面时,正确的文本输入可能在SWF内有焦点,但SWF在浏览器内没有焦点。有多种不同的方法可以实现这一点,我在下面提供了一些链接


ExternalInterface
方法有效。
            Input_txi.setFocus();
            Input_txi.selectRange(0,0);
    <script type="text/javascript" src="swfobject.js"></script>
    <script type="text/javascript" src="jquery-1.7.1.js"></script>
    <script type="text/javascript">
        // For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. 
        var swfVersionStr = "${version_major}.${version_minor}.${version_revision}";
        // To use express install, set to playerProductInstall.swf, otherwise the empty string. 
        var xiSwfUrlStr = "${expressInstallSwf}";
        var flashvars = {};
        var params = {};
        params.quality = "high";
        params.bgcolor = "${bgcolor}";
        params.allowscriptaccess = "sameDomain";
        params.allowfullscreen = "true";
        var attributes = {};
        attributes.id = "${application}";
        attributes.name = "${application}";
        attributes.align = "middle";
        swfobject.embedSWF(
            "${swf}.swf", "flashContent", 
            "${width}", "${height}", 
            swfVersionStr, xiSwfUrlStr, 
            flashvars, params, attributes, function(){
                /*
                var swf = $("#" + attributes.id);
                swf.attr("tabindex", 0);
                swf.focus();
                */

                var f = swfobject.getObjectById(attributes.id);
                f.tabIndex = 0;
                f.focus();
            });
        // JavaScript enabled so display the flashContent div in case it is not replaced with a swf object.
        swfobject.createCSS("#flashContent", "display:block;text-align:left;");

    </script>