Apache flex 从Air应用程序将焦点设置为嵌入式flex web应用程序上的textInput
朋友们,情况非常复杂: 我有一个air应用程序,其中有一个运行flex web应用程序的HTML组件,我需要在两分钟内将焦点设置为textinput。 HTML组件在一个面板中,这在stackview中 1.-当我选择HTML组件所在的stackview索引,并且面板分派完整事件时。 我通过修改flex web应用程序的html包装器来解决这个问题,添加了如下代码Apache flex 从Air应用程序将焦点设置为嵌入式flex web应用程序上的textInput,apache-flex,web,air,focus,Apache Flex,Web,Air,Focus,朋友们,情况非常复杂: 我有一个air应用程序,其中有一个运行flex web应用程序的HTML组件,我需要在两分钟内将焦点设置为textinput。 HTML组件在一个面板中,这在stackview中 1.-当我选择HTML组件所在的stackview索引,并且面板分派完整事件时。 我通过修改flex web应用程序的html包装器来解决这个问题,添加了如下代码 <script languaje="javascript" type="text/javascript"> fu
<script languaje="javascript" type="text/javascript">
function setInitialFocus() {
document.getElementById('${application}').tabIndex = 0;
document.getElementById('${application}').focus();
}
</script>
<body scroll="no" onload="setInitialFocus()">
内部web应用程序:
公共creationComplete_处理程序(事件:事件):无效{
localConnection.allowInsecureDomain(“应用程序#chevronLocstattDesktop”);
localConnection.client=this;
localConnection.connect(“_SomeConnection”);
}
javascript函数执行得很好(因为我在其中添加了一些警报,并显示了它),但没有关注web应用程序,因此没有关注textInput,这正是本文的目标
请帮助我…现在我找到了解决方案: 在web应用程序的html包装器上添加另一个函数
<script languaje="javascript" type="text/javascript">
function unsetInitialFocus() {
document.getElementById('${application}').tabIndex = 0;
document.getElementById('${application}').blur();
}
</script>
这看起来很难理解,但如果有人需要更多帮助,请询问。1。在index.template.html中创建Javascript函数强>
<script language="JavaScript" type="text/javascript" >
<!--
function setFocus()
{
window.document.YourSite.focus();
}
// -->
</script>
if (ExternalInterface.available) {
ExternalInterface.call('setFocus');
} else {
Alert.show("Browser not available");
}
focusManager.setFocus(yourTextInput);
protected function hide(event:FlexEvent) : void {
HTMLViewer.htmlLoader.window.unsetInitialFocus();
}
<script language="JavaScript" type="text/javascript" >
<!--
function setFocus()
{
window.document.YourSite.focus();
}
// -->
</script>
if (ExternalInterface.available) {
ExternalInterface.call('setFocus');
} else {
Alert.show("Browser not available");
}
focusManager.setFocus(yourTextInput);