Schließen Sie popup-div, wenn geklickt
Ich habe ein popup-div, das zeigt nur beim klicken der Taste. Er selbst verbirgt sich beim anklicken auf den gleichen Knopf. Mein problem ist, ich möchte auch ausblenden, div, wenn geklickt wird irgendwo außerhalb. Ich bin nicht in der Lage zu tun, weil das popup-div ist innerhalb der main-wrapper-Klasse und können nicht so tun, indem Sie mithilfe von click-Ereignis auf die wrapper-Klasse und machen es zu verbergen.
Das ist mein code:
function showHide() {
var ele = document.getElementById("div_fieldWorkers");
if (ele.style.display == "block") {
ele.style.display = "none";
} else {
ele.style.display = "block";
}
}
<input type="button" value="Add Field Worker" id="btnFieldWorkers" onclick="return showHide();" class="btn btn-primary" />
- Zeigen Sie uns Ihre markup
- Fügen Sie den html-code und js-code für das popup auch.
- Konnte Sie auch teilen Sie Ihre markup?
- <div id="div_fieldWorkers" style="display:none;" class="form_size"></div> dieses div-Element enthält ein Formular ausgefüllt werden, durch den Benutzer, aber es ist in der main-wrapper-Klasse.
- wrapper-Klasse ist in der master-Seite
Du musst angemeldet sein, um einen Kommentar abzugeben.
Check this out: http://jsfiddle.net/d4SsZ/1/
Überarbeitet: http://jsfiddle.net/d4SsZ/3/
Nur ein Ausschnitt: Überprüfen Sie, für null und undefined js-Fehler wenn keine.
Markup:
Javascript:
Hatte das gleiche problem, kam mit dieser einfachen Lösung. Es ist auch arbeitet rekursiv:
Die Lösung für dieses problem ist hier:
Nutzen jQuery zum ausblenden eines DIV, wenn der Benutzer klickt außerhalb des
Auch, Sie hat diese Frage jquery, aber dein code ist reines javascript. Bei der Verwendung von jQuery, kann man nur schreiben
in Ihrem onclick.
Erstellen click-Ereignis auf dem body-element und stopPropagation. das macht das Ereignis zu nennen, das click-event nur auf den button. Überprüfen Sie, dass die auf Ziel-element nicht den popup-div. Beispiel:
jsfiddle
Können Sie auch ausblenden, die pop-up, indem Sie auf pop-up-div.Für diese müssen Sie klicken Sie auf die Funktion im div-tag.In das click-Funktion, die Sie haben zu schreiben, die in der Nähe der pop-up-Funktion.