2011-01-27 18 views
8

私は機能Mybasefunction()を持っているJavaScriptファイル、Mybasefile.jsを、持っています。別のJavaScriptファイルでこの関数をオーバーライドしたいと思います。関数は、ボタンのクリックで呼び出されたとき、私は元Mybasefunction()は、いくつかの他のコードと一緒に実行することにしたいです。これどうやってするの?別のjavascriptファイルの関数をオーバーライドする方法は?

答えて

20

場所overrideファイルでこのコード。上書きファイルが元のファイルの後に含まれていることを確認してください。

var orig_Mybasefunction = window.Mybasefunction; 
window.Mybasefunction = function(){ 
    orig_Mybasefunction(); 
    ... 
} 
+0

これは正しく機能していないことを意味しますか? –

+0

+1これは動作するはずです - @Jis編集を参照してください、それは問題を解決する必要があります。あなたは匿名関数でこのコードをラップすることにより、 'orig_Mybasefunction'変数を非表示にする場合があります –

+4

:'(関数(){VAR orig_ ...}()); ' そのように、あなたは、グローバル名前空間を壊しません。このコードを乱すことなく、 'orig_Mybasefunction'という名前を他の場所で使うことができます。 – Martijn

関連する問題