どちらも同じことをしますが、一方を他方よりも使用する特定の利点があることを知りたいだけですか?
Event.observe(window, "load", function(){
//do something
});
window.onload = function(){
//do something
}
どちらも同じことをしますが、一方を他方よりも使用する特定の利点があることを知りたいだけですか?
Event.observe(window, "load", function(){
//do something
});
window.onload = function(){
//do something
}
違いはwindow.onload、DOM レベル 0 イベント モデルで定義され、以前に登録されたすべてのイベントを消去することです。これは、古い API からの「ネイティブ」呼び出しです。
プロトタイプ JavaScript フレームワークのEvent.observeは、使用可能な最適なイベント アタッチャーを決定します。ファサードのパターン。最新のブラウザでは、addEventListenerが呼び出されます -attachEventバージョン 9 より前の Internet Explorer の場合。古いブラウザでは、onloadが呼び出されます。
Event.observeプロトタイプ.loadの場合や jQuery の場合など、ファサードが利用可能な最適なオプションを選択することは明らかです。
DOM レベル 2 イベント モデルのメソッドは、オブザーバーとして機能し、以前のハンドラーを消去しないため、DOM レベル 0 イベント モデル メソッドよりも優先されます。