はじめに:
みなさん、こんにちは。メニューを作成しようとしていますが、mouseenter/mouseleaveイベントに問題があります。
私がこれまでに持っているもの:
$("#icon").click(function() {
$("#invis").css("display", "block");
$("#icon").bind("mouseleave", function(){
$("#invis").css('display', "none");
}).bind("mouseenter", function(){
$("#invis").css('display', "block");
});
$("#invis").bind("mouseleave", function(){
$("#invis").css('display', "none");
}).bind("mouseenter", function(){
$("#invis").css('display', "block");
});
});
これまでのところ、私はこれを試しました。私のポイントは「アイコン」をクリックすることです。このクリックでメニュー/別の非表示の要素が表示されます。誰かが「アイコン」または実際のメニューの上にマウスを置いている限り、開いたままにしておきたいと思います。しかし、私が提供したコードでは、マウスを離れて「アイコン」にもう一度入力すると、onmouseenterイベントが継続され、メニューが再び表示されます。onmouseenterイベントのバインドを解除できることはわかっていますが、メニューからアイコンに移動すると、メニューが閉じてしまい、それは望ましくありません。
私が考えることができる最も簡単な例:http://jsfiddle.net/tzzqM/5/
質問
クリックイベントで「メニュー」を開き、誰かがメニューまたは「アイコン」(両方)の上にマウスを置いている限り、開いたままにする方法。マウスが両方の領域を離れると、メニューが閉じます。それを開くには、「アイコン」をもう一度クリックする必要があります。これを行う別の方法はありますか?