コンポーネント(DIV A)の 1 つにマウス オーバー ポップアップ ウィンドウ(DIV B)を作成しようとしています。これは基本的に、ユーザーがテーブル項目にカーソルを合わせると表示されるフィルター ポップアップです。
マウスの動きを示す図は次のとおりです。
- マウスが DIV A に入り、DIV B がポップアップします。
- マウスは DIV A を離れ、DIV B は消えます。
- マウスは DIV A を DIV B に残しますが、DIV B はまだ開いたままです
- マウスが DIV B を離れ、DIV B が消える。
ステップ(1)にjQueryマウスオーバーを使用していますが、これは正常に機能します。ステップ(2)にもjQuery mouseLeaveを使用していますが、これも正常に機能します。
私の問題はステップ(3)です。DIV Aを離れるマウスでリッスンしようとしていますが、 DIV Bを介してDIV Aを離れる場合は、 DIV Bを削除しないでください。どうにかしてmouseLeavesの場合は言いたいのですが、マウスがDIV Bの上にある場合は非表示にしないでください。ある種の mouseOver イベント? mouseMotion リスナー?
これは私がこれまで持っているコードです:
$(this.filterFlag).mouseover(function(){
self.view.appendChild(self.pop.getView());
});
$(this.filterFlag).mouseleave(function(){
self.view.removeChild(self.pop.getView());
//but if mouse leaves into the popup, don't hide pop up.
});
どうすればこれを行うことができますか?