質問

私は現在mootools-1.2.3を使用していますが、変数を関数の外部からアクセス可能にするのに問題があります。

domready関数で変数を定義する必要があります。そうしないと、DOMが読み込まれず、セレクター関数が機能しません(HTMLの最後にスクリプトを配置できず、制御できませんフレームワークが外部スクリプトへの参照を書き込むとき)。

別の関数で同じ変数を参照する方法はありますか?

window.addEvent('domready', function() {
    var myVar = new myClass('someURL', 'elementSelectorString');
    document.addEvent('click', function(event) {
        myVar.doSomeStuff(var1, var2);
    });
});

window.addEvent('unload', function(event) {
    // Reference to myVar variable in domready function.
    myVar.cleanUpStuff();
});
役に立ちましたか?

解決

var myVar; をトップレベル(addEventsの上)に配置し、domready関数から var を削除します。変数は、宣言されているスコープ内で表示されます。

他のヒント

グローバル変数は実際にはウィンドウオブジェクトのプロパティであるため、次を使用できます。

window.myVar

var キーワードなしでmyVarを単純に定義します。割り当て中の var の欠如はグローバルを意味します。

window.addEvent('domready', function() {
    myVar = new myClass('someURL', 'elementSelectorString');
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top