ウィンドウと同じファイルに定義されていない関数を実行した後、ウィンドウを閉じようとしています。
関連するクラスの構造を説明しようと思います。
Class1.jsとClass2.jsの2つのクラスがあり、Class1.jsには関数 function1 (){}が定義され、function2(){}はClass2.jsに定義されています。
使い方:
function2はClass1.jsで呼び出され、ウィンドウを開き、次のようなパラメーターfunction1として受け取ります。
function2(function1);
function1これは、Class2.jsでも定義されている、新しいウィンドウでボタンがクリックされたときに実行されます。
var win = new Ext.Window({
id: 'win that I want to close',
.
.
.
buttons: [{
id: 'button that activates function1',
text: 'button1',
listeners: {
click: function1
},
scope: win
},
.
.
.
]
});
win.show();
Class1.jsでは、function1で次のことを実行しようとしています。
if(this.id == 'win that I want to close'){
this.close();
}
しかし、私が取得するスコープは、ウィンドウのスコープではなく、新しいウィンドウのボタンからのものであるため、閉じることができません。
私の説明はかなり悪いことは知っていますが、説明するのは簡単ではなく、この時点で完全に行き詰まっています。
私が書いたものを理解しようとしたなら、おめでとうございます、あなたはとても勇敢です!そしてあなたの助けをありがとう!