イベントハンドラはHTMLから分離した方が良いのか?


http://allabout.co.jp/internet/javascript/subject/msubsub_series_javascript06.htm
古い記事ですが、イベントハンドラをHTMLから分離した方が良いという記事です。
個人的にはHTMLにonclick="ファンクション名"と書いてあった方が
どの要素からどのファンクションが呼ばれているのか、どんなイベントハンドラが設定されているのかが瞬時にわかって良いと思うのですが。

分離自体は良いと思うのですが
分離した場合
ある要素にどんなイベントハンドラが設定されているのか、というのを
どうやって追うものなのでしょうか。

たとえば
<a href="top.html" class="hoge">link</a>

のようなリンク要素があってhogeクラスの要素にだけクリックイベントが設定してあるようなとき
これって、すごくわかりにくい気がするのですが。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2014/10/23 14:16:26
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:papa-tomo No.1

回答回数362ベストアンサー獲得回数107

ポイント200pt

コードだけ見ても、どのイベントがインストールされているか分からないというのはその通りですが、最近のブラウザには素晴らしいインスペクタが付いているので、綺麗にレンダリングされたソースを見ながら、イベントリスナーのチェックをすることもできますから、さほど困ることも無いと思います。

またインスペクタのコンソールも、クラスやファンションや変数のタイプアヘッドもするものもありますから、コンソールも使いこなせるようになると、コードの書き換え無しにクラスやファンクションのデバッグができます。むしろクラスの方が、テスト段階やデバッグではインスタンスの変更や追加が可能ですから、ファンクションのデバッグよりも楽かもしれません。

分かりにくいかどうかは、ツールに対する慣れなので、好みの問題はあると思いますが、イベントハンドラがオブジェクトに直接コーディングされていない方が、コードの書き換え無しにデバッグやテストを続けられるので便利かなと、個人的には思います。

http://game.guide.withabout.net/guide_game/gp333/about/G10246/CU20050315A/test2.htm

上のページをインスペクタで見ながら、テストしてみると、その良さが分かると思いますが、いかがでしょうか。

id:menzaifu

ありがとうございます。確認してみます。

2014/10/23 14:16:11

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません