Das Problem war, dass ich eine "onClickOut" -Event benötigen.onClickOut (klicken Sie nach dem Verlassen des Elements)
Zum Beispiel: Sie haben eine DIV-Anzeige auf Schweben (onMouseOver) einige Schaltfläche oder was auch immer.
Wenn Sie außerhalb des Elements klicken, muss es ausgeblendet werden, aber wenn Sie $ ("body") sagen, klicken Sie auf und es wird auch ausgeblendet, wenn Sie auf das Element klicken. :/
Nun höre ich die Mausposition und wenn mouseleave() Ich setze eine Variable beim Klicken in mein Element. Im nächsten Schritt höre ich ein generelles click-event (body) aber ich frage ob die var gesetzt wurde. Wenn nicht, muss es ein Klick außerhalb meines Elements sein, damit ich mein Element ausblenden kann.
Ich hoffe, dass Sie es verwenden können:
$("#schnellsuche_box").mouseleave(function() {
var inside;
$("#schnellsuche_box").click(function() {
inside = true;
});
$("body").click(function() {
if(!inside) {
$("#schnellsuche_box").hide();
}
});
delete inside;
});
Hinweis: Sie können eine lokale Variable nicht löschen. (Aber selbst wenn Sie könnten, würde es hier keinen Sinn ergeben, da Ihre Click-Handler versuchen, diese Variable zu verwenden.) – nnnnnn