특정 순서로 선택하면 JavaScript Toggle Checkboxes가 깨집니다 (Mind Blowing!)

DivineChef

분명히 체크 박스는 원하는 순서대로 선택할 수 있지만이 중단에 문제가 있습니다. ADC 또는 DAC 순서로 선택하면 확인란 C가 나타나지 않습니다. 순서대로 또는 역순으로 선택하면 잘 작동하며 어떤 이유로 든 Firefox에서 항상 작동합니다. 이 이상을 볼 수 있습니다 . 이상한 바이올린을 보려면 여기를 클릭하십시오 .

왜 이런거야? 어떻게 해결할 수 있습니까?

HTML

<input type="checkbox" id="Abox" data-info-id="infoa">
<label for="Abox"> Checkbox A</label><BR>

<input type="checkbox" id="Bbox"  data-info-id="infob">
<label for="Bbox"> Checkbox B</label><BR>

<input type="checkbox" id="Cbox"  data-info-id="infoc">
<label for="Cbox"> Checkbox C</label><BR>

<input type="checkbox" id="Dbox" data-info-id="infod">
<label for="Dbox"> Checkbox D</label><BR>

 CHECK AN ITEM ABOVE IT SHOULD APPEAR BELOW<P>
 <div style="background-color:silver;">

 <div id="infoa">
 <input type="checkbox" id="kwd2"  >
 <label for="kwd2"> ALPHA</label><BR>
 </div>

 <div id="infob">
 <input type="checkbox" id="fff1">
 <label for="fff1"> BETA</label><BR>
 </div>

 <div id="infoc">
 <input type="checkbox" id="zzz3">
 <label for="zzz3"> CHARLIE</label><BR>
 </div>

  <div id="infod">
  <input type="checkbox" id="kwd5"  >
  <label for="kwd5"> DELTA</label><BR>
  </div>

  </div>

자바 스크립트

  document.addEventListener('change', function(e) {
  var id = e.target.getAttribute('data-info-id');
  var checked = e.target.checked;

  if (id) {
      var div = document.getElementById(id);
      if (div) div.style.display = checked ? 'inline' : 'none';
      alert("bang");
    }

  });

CSS

[id^="info"] {
display: none;
}
가이 골드 스타 인

인라인 div를 표시하는 Webkit (Safari 또는 Chrome에서는 작동하지 않음) 버그처럼 보입니다. C의 블록은 "표시"되며 너비와 높이가 0입니다. 사양이 인라인 div에 대해 무엇을 말하는지 확실하지 않지만 일반적이지 않습니다. 인라인 대신 블록을 사용하면 작동합니다.

(편집 삭제, 잘못되었습니다.)

편집 : 이것은 간단한 브라우저 다시 그리기 버그로 보입니다. 안쪽 부분을 만들 수 있습니다

<span id="infoa">ALPHA<br></span><span id="infob"></span><span id="infoc">CHARLIE</span><span id="infod">DELTA</span>

같은 방식으로 실패합니다. 표시되지 않은 #infob 앞의 줄 바꿈은 #infoc의 표시 문제를 유발하는 것으로 나타납니다. Webkit 사람들에게보고해야 할 것 같습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관