본문 바로가기
공부 정리/jsChallenge

js challenge day10

by 경적필패. 2023. 2. 3.
반응형

Hold shift to Check Multiple checkbox

 

Code

  <script>
    const checkboxs = document.querySelectorAll('.inbox input[type="checkbox"]');

    let lastCheckBox;

    const handleCheck = (e) => {
      let between = false;
      if (e.shiftKey && e.target.checked) {
        checkboxs.forEach(checkbox => {
          if (checkbox === e.target || checkbox === lastCheckBox) {
            between = !between;
          }
          if (between) {
            checkbox.checked = true;
          }
        })
      }
      lastCheckBox = e.target;
    }
    checkboxs.forEach(checkbox => checkbox.addEventListener('click', handleCheck));
  </script>

배운 점 & 느낀 점

간단히 shift와 check박스의 상태를 확인하여 여러개 체크박스를 동시에 할 수 있는 과제였습니다.

간단한 예제이지만 이렇게 js를 이용해볼 생각은 여태 못해본 것 같습니다.

시야가 좀 넓어지는 과제였습니다.

반응형

'공부 정리 > jsChallenge' 카테고리의 다른 글

js challenge day 12  (0) 2023.02.07
js challenge day 11  (0) 2023.02.06
js challenge day 9  (0) 2023.02.02
js challenge day 8  (2) 2023.01.31
js challenge day 7  (0) 2023.01.30

댓글