• ベストアンサー

jQueryで<body>要素にマウスが乗ったらイベントを起こすものを

jQueryで<body>要素にマウスが乗ったらイベントを起こすものを作りたいのですが中身のタグにもイベントを設定すると影響はありますでしょうか? 例えばBODYに触れたら動作が起きるようにします。 もちろんその中にさらに<div>などの要素がありそこにもなんらかのイベントを付与したとします。 そういった場合、動きがおかしくなる可能性はありますか? そういった設定でも特に問題ないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

>動きがおかしくなる可能性はありますか? きちんとコーディングすれば問題ありません。 divでイベントが発生したときは、bodyにも伝播します。このあたりを理解していないと「動きがおかしくなる」(=思った動作と違う)ことになる可能性はあります。 <バブリングの例> http://yakinikunotare.boo.jp/orebase/index.php?Javascript%2F%A5%A4%A5%D9%A5%F3%A5%C8%A4%CE%A5%D0%A5%D6%A5%EA%A5%F3%A5%B0%A4%C8%A4%A4%A4%A6%B8%BD%BE%DD <バブリングとキャプチャリング> http://dev.ariel-networks.com/Members/inoue/js-event <バブリングの抑止例> http://jsajax.com/Articles/Event5/305 なんて、面倒なことをしなくても、bodyにイベント設定するならそれだけにして(divには設定しないで)、イベントの発生元を調べて処理の場合分けをしてあげたほうが分かりやすいのでは? http://d.hatena.ne.jp/yukoba/20100228/p1 http://www.tohoho-web.com/js/event.htm#target http://oshiete1.goo.ne.jp/qa5106710.html http://www2u.biglobe.ne.jp/~oz-07ams/prog/dom-ref/Events/EventTarget.html

mr-r00
質問者

お礼

ありがとうございました 参考になりました!

関連するQ&A