Blenden Sie ein div aus, wenn Sie außerhalb davon klicken
Diese Frage wurde gebeten, mehrmals, aber keine der Antworten scheint zu funktionieren für mich.
Dem css der div ist wie folgt:
#info{
display: none;
position: fixed;
z-index: 500;
height: 50%;
width: 60%;
overflow: auto;
background: rgba(187, 187, 187, .8);
}
Habe ich versucht den folgenden code verwenden:
$("#info").click(function(e){
e.stopPropagation();
});
$(document).click(function(){
$("#info").hide();
});
sowie diesen code:
$(document).mouseup(function (e){
var container = $("#info");
if (container.has(e.target).length === 0) {
container.hide();
}
});
Aber jedesmal, wenn ich auf der div verschwindet es auch, keine Ahnung warum, aber es funktioniert.
Irgend etwas anderes, das funktionieren könnte?
InformationsquelleAutor der Frage Gooey | 2012-07-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als Ziel hat
id=info
so können Sie versuchen:Können Sie auch versuchen:
Laut Kommentar
InformationsquelleAutor der Antwort thecodeparadox
Befestigen
onclick
event-handler, um diedocument
Objekt:Demo: http://jsfiddle.net/aUjRG/
Hier ist eine Lösung in reinem JavaScript, um Ihnen helfen, besser zu verstehen, was es passiert:
Demo: http://jsfiddle.net/mmzc8/
Beide Lösungen prüfen Sie, ob der Speicherort, auf den der Benutzer geklickt hat, wurde auf das element mit der ID
info
. Vorausgesetzt, dass der Benutzer nicht auf deninfo
element, dann verstecken Sie dieinfo
element.InformationsquelleAutor der Antwort RobB
Zu gewährleisten, haben Sie eine Lösung, die funktioniert auf iPads zu, dann müssen Sie die folgende Funktion auslösen, anstatt:
Ähnlich, wenn Sie schauen, um Abdeckung mouseup -, fügen 'touchend':
InformationsquelleAutor der Antwort Andy Lorenz
Versuchen, diesen code, das ist das beste für mich.
InformationsquelleAutor der Antwort Ken Avila
Können Sie eine Klasse nur für überprüfen Sie auf die Maus klicken, die bestimmte div-oder alle innerhalb dieses div-element geklickt wird oder nicht.
InformationsquelleAutor der Antwort Ahmad.Iftikhar
Versuchen, die unterhalb Lösung. Es ist auch arbeitet rekursiv:
Referenz - https://stackoverflow.com/a/7385673/3910232
InformationsquelleAutor der Antwort Sam G