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