「の後ろに」視覚的である要素にマウスイベントをディスパッチAとB:次のようにが、私は2つのdiv要素を持っている私のWebページで受光素子
DOMは(簡体字)になります。ここで注意すべき重要なことは、divがDOM階層内の同じレベルにあり、divで順序付けられていないことです。また、外側のDIVのみAおよびBだけでなく、複数のdivのC、D、E等Bを含んでいない必ずしもまたA.背後に横たわる、CかもしれA.によって重複されなくてもよい
<div>
<div style="...">B</div>
<div style="...">A</div>
</div>
Aクリックハンドラが外側のdivにアタッチされ、バブルフェーズでAまたはBのマウスクリックイベントがキャプチャされます。 AとBの交差点をクリックすると、A上のクリックイベントが発生し、クリックハンドラが今すぐ起動されます。
問題:特定の条件下では、ハンドラはイベントをAで処理すべきではなく、Bに属している必要があると判断します。Bで処理する必要があるイベントは、同じクリックハンドラを起動しますが、 currentTarget
プロパティは、どのように私はこれを達成することができますBの代わりA.
されるのですか?
私はすでにCSS3ポインタ・ハンドラとJSのメソッドをディスパッチいくつかのイベントを見てきましたが、本当にここに解決策を考え出すことができませんでした。
解決策1(ないクロスブラウザ互換の)?:
私は私がpointer-events css3 propertyを使用することが可能かもしれないと思います。ハンドラがイベントをBで処理する必要があると判断した場合、ポインタイベントをnoneに設定します。次に、マウスクリックを再トリガします。 質問ここではそれが唯一の座標が、特定の要素を指定しないとマウスクリックを再トリガすることは可能ですか?とにかく
、ポインタ・イベントのサポートが限られている:http://caniuse.com/pointer-events
あなたが見てきましたHTTPS ://developer.mozilla.org/ja/CSS/poin ter-events – j08691
はい、主な問題は、AまたはBのイベントを持つかどうかを動的に決定する必要があることです。 – Erik
はjQueryのオプションですか?すでに – Yoshi