Javascript 从类外部访问MooTools类方法
我在MooTools类中有一个方法,我想在使用AJAX(iFrame)上传文件后访问该方法。iFrame页面在加载时运行的Javascript应该调用类的方法,但我无法使用以下方法访问它: 类名:Main var类在:myMain中初始化 parent.window.myMain.myMethod parent.window.Main.myMethod 这可能吗?如果是这样的话,我该怎么做呢?这对我来说很有效(iframes也是如此) 在主窗口中Javascript 从类外部访问MooTools类方法,javascript,mootools,Javascript,Mootools,我在MooTools类中有一个方法,我想在使用AJAX(iFrame)上传文件后访问该方法。iFrame页面在加载时运行的Javascript应该调用类的方法,但我无法使用以下方法访问它: 类名:Main var类在:myMain中初始化 parent.window.myMain.myMethod parent.window.Main.myMethod 这可能吗?如果是这样的话,我该怎么做呢?这对我来说很有效(iframes也是如此) 在主窗口中 var T=new MyClass(); 在I
var T=new MyClass();
在Iframe中(在T初始化之后加载!)
我刚想出来。在iFrame页面上,我需要使用: window.parent.Main.prototype.myMethod() 可能不是访问它的正确方式,但它可以工作。我更喜欢的语法:
var MyClass = new Class({
/* list regular non-static methods her as usual */
});
MyClass.staticMethod = function()
{
/* body of static function */
};
您拥有的优势是:
- 您可以通过类内外的
调用静态方法MyClass.staticMethod()
- 不可能在静态方法中意外访问this指针,因为它不可用
要访问内部框架中的静态方法,请使用can
window.parent.MyClass.staticMethod()代码>我一直在获取“window.parent.myMain undefined”是否可以从staticMethod访问新类(…)中定义的常用方法?i、 e.:`MyClass.staticMethod=function(){this.privateMethod()}`不,这是不可能的,看我回答的第二点。静态方法只能访问其他静态方法。如果需要访问此
,请创建一个常规方法。
var MyClass = new Class({
/* list regular non-static methods her as usual */
});
MyClass.staticMethod = function()
{
/* body of static function */
};