http://allabout.co.jp/internet/javascript/subject/msubsub_series_javascript06.htm
古い記事ですが、イベントハンドラをHTMLから分離した方が良いという記事です。
個人的にはHTMLにonclick="ファンクション名"と書いてあった方が
どの要素からどのファンクションが呼ばれているのか、どんなイベントハンドラが設定されているのかが瞬時にわかって良いと思うのですが。
分離自体は良いと思うのですが
分離した場合
ある要素にどんなイベントハンドラが設定されているのか、というのを
どうやって追うものなのでしょうか。
たとえば
<a href="top.html" class="hoge">link</a>
のようなリンク要素があってhogeクラスの要素にだけクリックイベントが設定してあるようなとき
これって、すごくわかりにくい気がするのですが。
コードだけ見ても、どのイベントがインストールされているか分からないというのはその通りですが、最近のブラウザには素晴らしいインスペクタが付いているので、綺麗にレンダリングされたソースを見ながら、イベントリスナーのチェックをすることもできますから、さほど困ることも無いと思います。
またインスペクタのコンソールも、クラスやファンションや変数のタイプアヘッドもするものもありますから、コンソールも使いこなせるようになると、コードの書き換え無しにクラスやファンクションのデバッグができます。むしろクラスの方が、テスト段階やデバッグではインスタンスの変更や追加が可能ですから、ファンクションのデバッグよりも楽かもしれません。
分かりにくいかどうかは、ツールに対する慣れなので、好みの問題はあると思いますが、イベントハンドラがオブジェクトに直接コーディングされていない方が、コードの書き換え無しにデバッグやテストを続けられるので便利かなと、個人的には思います。
http://game.guide.withabout.net/guide_game/gp333/about/G10246/CU20050315A/test2.htm
上のページをインスペクタで見ながら、テストしてみると、その良さが分かると思いますが、いかがでしょうか。
ありがとうございます。確認してみます。
2014/10/23 14:16:11