从类外部访问MooTools类方法

时间:2009-07-24 15:42:16

标签: javascript mootools

我在使用AJAX(iFrame)上传文件后想要访问的MooTools类中有一个方法。 iFrame页面在加载时运行的Javascript应该调用Class的方法,但是我无法使用以下任何方法访问它: 班级名称:主要 var class在:myMain

中初始化

parent.window.myMain.myMethod parent.window.Main.myMethod

这甚至可能吗?如果是我该怎么做?

3 个答案:

答案 0 :(得分:10)

我更喜欢的语法:

var MyClass = new Class({

  /* list regular non-static methods her as usual */

});

MyClass.staticMethod = function()
{
   /* body of static function */
};

您拥有的优势是:

  • 您可以通过课堂内外的MyClass.staticMethod()调用静态方法
  • 无法在静态方法中意外访问this-pointer,因为它不可用

要访问内部框架中的静态方法,请使用window.parent.MyClass.staticMethod();

答案 1 :(得分:0)

这对我有用(也是iframe)。

在主窗口中。

var T=new MyClass();

在iframe中(在T初始化后加载!)

window.parent.T.anyMethodOfMyClass()

答案 2 :(得分:0)

刚想通了。在iFrame页面上,我需要使用:

window.parent.Main.prototype.myMethod();

可能不是正确的访问方式,但它确实有效。