既に定義されている関数を上書きしないで関数を追加する
こんな便利なのがあったのかー。
window.attachEvent("イベント名", "関数");
<body onload="alert('hoge');">
というイベントがなんらかの理由で"固定"で指定されていて、自前でonloadイベントに関数を追加したい場合。
window.onload = function() { alert('foo'); }
と書きたくなりますが、これだと関数が上書きされてしまい、最初から指定してあるalert('hoge');は呼ばれなくなってしまいます。そこでイベントに対して関数を追加できるのがattachEvent。
function myFunction() { alert('foo'); } window.attachEvent("onload", myFunction);
こうすると、画面を表示した時にonloadイベントが発生し、"hoge"→"foo"の順にメッセージボックスが出ます。一体いくつの関数が追加できるかと試してみたんですが、10000個登録しても大丈夫でした(笑)