人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

JavaScript(jQuery)のクリックイベントについて質問です。

すでにクリックイベントが設定されたBOX(B)の外側のBOX(A)にクリックイベントを
設定したいと考えています。Aにイベントを設定するとBのイベントが無効になり
Aのイベントのみが発火して困っています。
↓こんな感じのボックス配置のときです
http://www.fastpic.jp/images/810/0011082553.gif
BOX(B)をさけてイベントを設定することもできますが数が多いのと
メンテナンス性がよくないので他の方法でできないでしょうか?
できればjQuery記法でお願いします。

●質問者: masculine
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● y-kawaz
●400ポイント ベストアンサー

ボックスBのハンドラで event.stopPropagation() を実行してないでしょうか?

何もしなければ通常は内側でクリックイベントが実行されてもイベントは外側の要素にバブリングしてきて外側のボックスAのハンドラも実行されるはずです。

そうならないのは内側のハンドラで event.stopPropagation() が実行されてるからだと思います。

もしボックスAのハンドラでそれが必須でないのであれば、試しに stopPropagation() が呼ばれていないか探してコメントアウトしてみててください。


2 ● a-kuma3
●100ポイント

No.1 の方の補足。

もし、IE を使ってるようであれば、

event.cancelBubble = true

を探してみましょう。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ