2011-07-10 12 views
1

具体的には、FB.uiと競合している1つのページに対して、mootoolsで関数の設定を解除する必要があります。しかし、私はそれがサイトの残りの部分を壊すように、その機能を永久に削除するような劇的な何もしたくありません。javascriptメソッドの定義を解除することはできますか?

+0

からダウンロードできますか?スクリプトはページのローカルなのでしょうか?だから、もしあなたがmooで削除したい関数がfと呼ばれるなら、 'moo.f = undefined'という文でスクリプトタグを入れてください。 'moo.f()'の形式の呼び出しはもちろん、その特定のページを壊すでしょうが、私は "サイトの残りの部分"は大丈夫だろうと思います。 –

+0

どの機能がどのように呼び出されますか?それは* global *関数か、または "moo namespace"にありますか? –

+0

競合している機能の機能に依存するため、特定の競合は何ですか?異なるタイプのものは、削除するために異なる方法を取るでしょう。私は、正確な項目を知らずに一般的な目的の答えがあるとは思わない。たとえば、ムー(Moo)がオーバーライドを置き換える代わりに、何か別のことをしなければならないのですが、何らかのムー関数を取り除くだけです。 – jfriend00

答えて

4
var moo = new function() 
{ 
    this.fn = function() 
    { 
     return 1; 
    }; 
}; 

moo.fn(); // 1 
var _moofn = moo.fn; // 'cache pointer' 
moo.fn = function(){}; 
moo.fn(); // nothing 
moo.fn = _moofn; 
moo.fn(); // 1 
2

おそらく関数をオーバーライドするのが解決策ですか?

Overriding a JavaScript function while referencing the original

+0

多くの場合、これはうまくいく私の特定のインスタンスのために私は完全に機能を削除すると、私の競合を修正して、それがなくなってする必要があります。 –

0

MooToolsのバージョン1.4.3は、この問題を解決 - あなたは永久に削除とはどういう意味ですかDownload MooTools 1.4.3

関連する問題