window.addEventListener('keyup', (event) => { // 키보드 이벤트 등록
      (중략)
    });
    let startCoord; // 기준 좌표(시작점)
    // 마우스 이벤트 등록
    window.addEventListener('mousedown', (event) => { 
      startCoord = [event.clientX, event.clientY];
    });
    window.addEventListener('mouseup', (event) => {
      const endCoord = [event.clientX, event.clientY];
      const diffX = endCoord[0] - startCoord[0];
      const diffY = endCoord[1] - startCoord[1];
      if (diffX < 0 && Math.abs(diffX) > Math.abs(diffY)) {
        moveCells('left');
      } else if (diffX > 0 && Math.abs(diffX) > Math.abs(diffY)) {
        moveCells('right');
      } else if (diffY > 0 && Math.abs(diffX) <= Math.abs(diffY)) {
        moveCells('down');
      } else if (diffY < 0 && Math.abs(diffX) <= Math.abs(diffY)) {
        moveCells('up');
      }
    });

    4.3.3절마우스 이벤트에 나온 예제 코드를 수정해 사용했습니다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.