0

Xというコンポーネントがあります。マウスをその上に置くと、そこからメニューが表示されるようにしようとしています。

コンポーネントの状態を別の状態に変更するmouseOverハンドラーがあり、下部に追加の子コンポーネント(メニュー)が表示されます。もちろん、これによりXコンポーネントが大きくなります。

コンポーネントXを元の状態に戻すことでメニューを非表示にするmouseOutイベントハンドラーもあります。

コンポーネントの上にマウスを移動すると、メニューが期待どおりに表示されます。しかし、現在表示されているメニューにマウスを移動すると、それに触れるとすぐに消えます。このようにメニューに到達することは不可能です。

古い境界から外れるとすぐに、mouseOutイベントがトリガーされると思います。これはそうですか?そして、どうすればそれを回避できますか?新しい境界では、メニューで追加の子を考慮する必要があります。

よろしくお願いします、ヌーノ

4

1 に答える 1

0

子要素の上に移動すると、コンポーネント「X」からマウスアウトします。
コードを見ずに私は本当にあなたを助けることはできません。ただし、いくつか試してみることをお勧めします。

  • マウスとコンポーネントのヒット領域をテストする関数を作成し、コンポーネント上にない場合にのみマウスを渡す場合にのみイベントをディスパッチします。マウスがコンポーネントの外に移動したという理由だけで、コンポーネントがマウスアウトイベントをディスパッチしてはなりません。
  • 必要に応じてリスナーを変更します
  • イベントの伝播

    しかし、実際には、コードなしでこれ以上支援できる方法はありません。
于 2011-03-22T19:38:10.113 に答える