1

私は JavaScript プログラミングが初めてなので、基本的な質問についてはご容赦ください :) オープン ソースの JavaScript コードの 1 つがネイティブの window.scrollTo() メソッドを誤って変更した場合、HTML 要素に対して scrollTo を呼び出すときに、それは常に機能し、代わりに JS エラーを発生させませんか?

4

1 に答える 1

3

scrollTo変更を削除するだけで、 のデフォルト バージョンを復元できます。

delete window.scrollTo;

これにより、変更されたものが削除さwindow.scrollToれ、Window オブジェクト プロトタイプの関数のデフォルト バージョンに置き換えられます。

ただし、 の修正版が必要な場合は、window.scrollToそのコピーを作成して使用できます。

ライブラリをロードする前に、次のコードを実行します。

window.scrollToProper = window.scrollTo;

scrollToProper()それ以降は、変更された場合でも、デフォルトの関数を使用するために呼び出すことができますwindow.scrollTo

scrollTo別の方法として、デフォルト関数を Window プロトタイプから直接呼び出すこともできます。(rishabh に感謝します。) 構文は次のとおりです。

Window.prototype.scrollTo.call(window, x, y);

現在のインスタンスではなく Window オブジェクトを参照しているため、Window の大文字化に注意してください。

于 2013-10-25T14:50:42.977 に答える