-
ID:FbG6Jf さんの質問

複数の要素Aの手前に大きな要素Bが重なってる状態で、
見ため的にAの上でクリックしたときAのイベントを発火※させるにはどうしたら良いでしょう?
Bのclickハンドラをreturn false;してもだめでした...

※「どのAの上でクリックされたか」「A内のマウス座標」などの情報をAのハンドラに通知すること

みんなの回答 5 件

ID:14Xm67 さんの回答

Bをクリックした際にA情報を取得するという方法はどうでしょうか。

ID:FbG6Jf

そのAの情報をどのように取得するかが知りたいのです。

ID:14Xm67

それはHTMLの構造によります。

ID:RUsC/z さんの回答

複数のAの上に、大きなBがあるってことだよね?
ロード時にそれぞれのAの座標と大きさを配列に登録して、Bのクリックイベントで、マウス座標を元に作成した配列を参照することでなんとかなりそうだけど、どう考えても非効率だから、「複数のAの上に、大きなBがある」という前提が間違っているよ。通常なら、そういうややこしい構造にならないようにするはず。

ID:12R86s さんの回答

Bを pointer-events:none にする

ID:43Dgum

私もこれです

ID:WIkxwG さんの回答

イベントのバブリング/キャプチャリングについて一回ちゃんと調べて理解したほうがいいかと思いますよ。

ID:Xxz624 さんの回答

座標を取得してマウスが座標内に入ってクリックしたら、って判定文

最終更新日:2014-07-19 (4,656 views)

関連するトピックス

ページ上部に戻る