gpt4 book ai didi

html - HTML Loader 中的输入元素在 adobe AIR 中是只读的

转载 作者:太空狗 更新时间:2023-10-29 15:19:42 24 4
gpt4 key购买 nike

假设我有一个包含表单的 html 文件:

<form method="post" action="url">
<input type="text" id="fullname" />
<input type="text" id="bodyText" />
<input type="submit">
</form>

我们在 swf 文件中使用 HTMLLoader 加载了这个 html 文件。

_htmlLoader = new HTMLLoader();
_htmlLoader.paintsDefaultBackground = false;
var req:URLRequest = new URLRequest(urlValue);
_htmlLoader.load(req);
_stage.addChild(_htmlLoader);

在主应用程序中使用 Loader 加载此 Swf 文件后,文本框是只读的,不能输入。但是我们可以使用鼠标改变它们的焦点。

var loader1:Loader = new Loader();
loader1.load(new URLRequest("path to file.swf"));
// ...
this.addChild(loader1);
// ...

问题是什么?

最佳答案

Event.COMPLETE 事件触发后是否附加了 HTMLLoader?甚至值得等待 HTMLLoader 的文档在将其附加到舞台之前触发 DOMReady 事件。

尝试这样的事情:

_htmlLoader = new HTMLLoader();
_htmlLoader.paintsDefaultBackground = false;
var urlRequest:URLRequest = new URLRequest(urlRequest);
_htmlLoader.addEventListener(Event.COMPLETE, completeHandler);
_htmlLoader.load(urlRequest);

function completeHandler(event:Event):void { _htmlLoader.window.document.addEventListener("DOMContentLoaded", readyHandler); }

function readyHandler(event:Event):void { _stage.addChild(_htmlLoader); }

Flex documentation about handling HTML events提到这个:

When a listener refers to a specific DOM element, it is good practice to wait for the parent HTMLLoader to dispatch the complete event before adding the event listeners. HTML pages often load multiple files and the HTML DOM is not fully built until all the files are loaded and parsed. The HTMLLoader dispatches the complete event when all elements have been created.

HTMLLoader 可能会在文档实际准备好之前附加到这个阶段,这可能解释了一些奇怪的地方。

如果您有任何更多信息,那将是一个很棒的帮助......

关于html - HTML Loader 中的输入元素在 adobe AIR 中是只读的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7711229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com