Wie kann ich diesen Code ändern. Kann ich dort einen evenlistner verwenden, um dasselbe Ergebnis zu implementieren? Was ist in diesem Fall die beste Vorgehensweise? Kann ich hier Datenattribut oder QuerySelector besser verwenden? codepenCheckbox onchange div und checked ein anderes Kontrollkästchen
const myCheck = document.getElementById("check");
const myCheck2 = document.getElementById("check2");
const dib = document.getElementById("dib");
function change() {
if (myCheck2.checked) {
myCheck.checked = false;
dib.style.display = "block";
}
else{
dib.style.display = "none";
myCheck.checked = true;
}
}
function func2() {
if (this.checked) {
myCheck2.checked = false;
dib.style.display = "none";
}
else {
dib.style.display = "block";
myCheck2.checked = true;
}
}
myCheck2.addEventListener('click', change);
myCheck.addEventListener('click', func2);
<input type="checkbox" id="check" >
<input type="checkbox" id="check2" checked="checked" >
<div id="dib">Text</div>
Was genau Sie erreichen wollen? Ein bisschen Hintergrund wäre sehr hilfreich. – pattyd
Sie tun OK, obwohl ich nicht weiß, was Sie archivieren möchten. Nur ein Vorschlag, dass Sie das Ereignis "change" statt "click" verwenden sollten: 'myCheck2.addEventListener ('change', change); myCheck.addEventListener ('change', func2); ' – vothaison
@vothaison - Ich empfehle das click -Ereignis für Checkboxen, da bestimmte Browser das change -Ereignis nicht in Checkboxen auslösen, bis sie den Fokus verlieren. (Beachten Sie, dass ein Klickereignis auch dann ausgelöst wird, wenn der Benutzer das Kontrollkästchen über die Tastatur ändert.) – nnnnnn