Ajaxを調べてて、なんじゃそりゃって思ったのでメモとして書いておきます。
JavascriptでAの要素の中にBがあるとして、この場合Aは親要素、Bは子要素という立ち位置になります。
ソースでいうとこんな感じ。
<div> <div></div> </div>
この場合、親の要素にも子の要素にもonclickなどのイベントハンドラが設定されてると、子供をクリックしたときに親のイベントハンドラまで実行されてしまう、ということ。
これはCSSのposition:relativeなどで親と子が見た目的に重ならないようにしても同じです。
この現象をバブリングと言います。泡が下から上へプクプク上がっていくことからそう呼ばれてるそうです。
これを避けるにはeventオブジェクトのstopPropagation();を使います。まぁ今回はバブリングってなーに?ということのメモなので、そのあとのことはまた今度。
jqueryを使っている場合はこちらのサイトにいろいろ書いてあります。jQuery日本語リファレンス
コメント