2012-04-17 6 views
1

LayoutPanelの内側に、いくつかのGWTパネルが重ねて表示されています。私のボトムパネルにはマウスイベントが必要ですが、トップパネルにはこのイベントがキャッチされています。パネルがイベントを沈ませないようにする方法はありますか?それらのイベントはスタックの下のパネルで捕らえられます。GWTパネル間でのマウスイベントの転送

おかげで、

ジョンは

答えて

1

CSSプロパティpointer-events: noneありますが、それはIEとOperaで動作しません。 (少なくとも)のために、私はあなたに持っていると思う:

  1. が一時的に上位層を隠し、
  2. は、下位層(JSNIから$doc.elementFromPointを使用)、
  3. に標的にされていたであろう要素を見つけます
  4. とし、上位レイヤの表示を解除します。
  5. firesynthetic event
  6. その上

心配しないで、表示/非表示は、ユーザに感知できないだろう(ブラウザもそれを表示されません)

+0

おかげでトーマス。レイヤーを隠すための便利な方法はありますか?または、レイヤーを親レイヤーから削除するか、レイヤーをもう一度追加する必要がありますか? – DeadPassive

+0

また、elementFromPointを呼び出すときにclientX/clientYまたはscreenX/screenYを使用する必要がありますか?私は違いが何であるか分からない。 – DeadPassive

+0

トーマス、「合成イベントを起こす」という最後の点を明確にしてください。私は非常に似た問題があります:http://stackoverflow.com/questions/28022057/gwt-forward-mouse-wheel-event-to-underlying-element – damluar

関連する問題