티스토리 뷰




shift키를 눌러서 checkbox 연속 선택하기 https://github.com/KIMSG/javascript30/blob/master/day10/index.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<script>
    const checkboxes = document.querySelectorAll('.inbox input[type="checkbox"]');
 
    let lastChecked;
 
    function handleCheck(e) {
        let inBetween = false;
        if(e.shiftKey && this.checked){
            checkboxes.forEach(checkbox => {
               console.log(checkbox);
               if(checkbox === this || checkbox === lastChecked){
                   inBetween = !inBetween;
               }
               if(inBetween){
                   checkbox.checked = true;
               }
            });
        }
        lastChecked = this;
    }
    checkboxes.forEach(checkbox => checkbox.addEventListener('click', handleCheck));
</script>


우선, checkbox들을 querySelectorAll을 이용해서 checkboxes에 담는다. 
checkboxes에 click을 할 떄 handleCheck이벤트를 담는다.

shiftkey : 쉬프트키의 누름 여부를 알려준다.

처음 쉬프트키를 누르고 선택한 값과 두번째 선택한 값들의 중간 값들을 반환한다.
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함