在AIR windowedApplication中通过其`id`获取对象

时间:2011-03-23 19:00:39

标签: javascript flash flex air

可能有更好的方法来做到这一点......所以请建议是否有。

我有一些调用AIR功能的javascript。此AIR函数创建一个新的HTML元素,并将其添加到“舞台”,如下所示:

// guid is the ID given to the new window (HTML element) by javascript
private function createNewWindow(guid:String):void {
    var frame:HTML = new HTML();
    frame.id = guid;

    addElement(frame);
}

现在我还有一个函数根据它的id来设置框架的location ...这就是我在努力的地方。

// set the location of the window referenced by it's id (guid)
private function setLocation(guid:String, location:String):void {
    // psuedocode. Obviously it won't work.
    stage.getById(guid).location = location;
}

那么,我如何根据其ID“获取”我的HTML元素?

1 个答案:

答案 0 :(得分:1)

简短的回答,你没有。这不是javascript,这是一种OO语言,因此,您需要改变您的思维过程。你想做什么?在空中应用程序中创建几个html窗口?如果你想要一个基于id的方法,你将需要在数据结构(如字典)中存储id和指向组件的指针。

private var _components:Dictionary = new Dictionary();
this._components['someId'] = someComponent;

从那里你可以添加一个只保存/返回组件的功能。我不完全确定你的方法是什么,你想要完成什么,但我的直觉告诉我你没有做正确的事。