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>