리스트에서 쉬프트 클릭하고 클릭하면 그 사이 다 클릭되게하는것
본문
리스트에서 쉬프트 클릭하고 클릭하면 그 사이 다 클릭되게하는것이 궁금합니다
ctrl로 클릭하는건
if(e.ctrlKey) {
$(this).toggleClass("on");
}
css:
.on{
backgroun-color:yellow
}
이런식으로 하고 클릭하면 class ="on" 되서 바탕화면이 노란색이 되는데
쉬프트로 하면
그 사이값을 어떻게 가져와서 전부다 class를 붙여주는지 모르겠습니다.
고견 부탁드립니다.
!-->답변 1
이벤트는 e.shiftKey를 사용하시면되고, shift를 누른 위치를 저장하게 하고 그 위치가 2개면 그 사이를 전부 class=on으로 처리 하시면 될것 같습니다.
저 같으면 클릭하는 것들에 data-list='1' ~ data-list='10'이런식으로 숫자를 줘서 위치가 어디인지 판단하기 쉽게 만들것 같습니다.
그래서 shift를 누르고 클릭한게 2개 이상인지 체크하고 data의 값이 해당 위치에 있는 사이값인거는 전부 class on 처리하면 해결될것 같네요.
더 좋은 방법도 많겠지만...그냥 단순히 해야하는것들 나열한대로 정리하면 위와 같습니다.
답변을 작성하시기 전에 로그인 해주세요.