JavaScript のブラウザ判別

今年の春に入社した新人がブログを書き始めたので返事を書いてみる。
IEとFirefoxのイベント処理 - SASAKURE-CODING
どのような言語でもそうですが、基本的に我々初学者が困るような事は、世の中の誰かが既に解決済みである可能性が高いです。
とは言え、何も考えずに Google で検索を行っても良い答えが見つかるとは限りません。個人的な経験則ですが、その言語で高名なオープンソースのプロダクトを探すために Google を使い、そのプロダクトのコードを読む事で、良い答えが見つかりやすい傾向があります。

例えば今回のパターンだと jQuery が良いでしょうか。jQuery 1.4.2 のコードを読むと、各所で document.addEventListener と document.attachEvent の存在確認を行っており、userAgent による処理分岐は行っていない事に気がつきます。(ちなみに、prototype.js 1.7 rc2 も似たような感じでした)
詳細は、あえて書きませんので、自力でこれらのコードを調べてみて下さい。