Dies ist mein Code: https://jsfiddle.net/56xh3rLo/JavaScript kann nicht überprüfen Checkbox
Hier ist die Javascript aus dem jsfiddle:
$(document).ready(function() {
$(document).click(function(event) { //line 1
if(!$(event.target).closest('.menu').length) { //line 2
if ($('.menu-btn').is(':checked')) { //line 3
$('.menu-btn').trigger('click'); //line 4
}
}
})
})
wie Sie sehen können, Linie 1 ist zu erkennen, ob ein Benutzer klicken, ist los Die Seite. Zeile 2 soll erkennen, ob der Benutzer irgendwo anklickt, AUSSER für das Element .menu (das sich irgendwo im schwarzen Hintergrund befindet). Zeile 3 soll erkennen, ob das Kontrollkästchen .menu-btn aktiviert ist. Wenn es aktiviert ist, wird ein Klick auf das Kontrollkästchen ausgelöst.
Also, hier ist die Zusammenfassung des Codes: wenn der Benutzer irgendwo anklickt, AUSSER für den Black-Box-Bereich und das Kontrollkästchen ist aktiviert, wird der Code einen Klick auf das Kontrollkästchen auslösen und es das Kontrollkästchen deaktivieren. das Problem ist, das Kontrollkästchen überprüft überhaupt nicht. Warum funktioniert es nicht?
https://jsfiddle.net/56xh3rLo/1/ – Rayon
Ihr Handler ist so eingestellt, dass er jedes Mal, wenn er angeklickt wird, einen "Klick" auf die Checkbox auslöst ... so dass Sie ihn sofort deaktivieren. –
@Rayon jetzt kann ich das Kontrollkästchen, aber ich kann nicht deaktivieren Sie das Kontrollkästchen, wenn ich irgendwo außerhalb der Black Box Bereich klicken. – pixie123