자바스크립트

.interact() / interact.js / 드래그, 드롭, 리사이즈, 제스처 제어

비니_ 2025. 9. 3. 09:31
728x90

 

 

순수 자바스크립트(JS) 라이브러리

 

원래 목적: 브라우저에서 DOM 요소를 드래그, 드롭, 리사이즈, 제스처 등 제어할 수 있게 해주는 범용 라이브러리

 

<div class="draggable">
  <div class="card">이 부분은 드래그 안 됨</div>
</div>
interact(".draggable").draggable({
  ignoreFrom: ".no-drag",
  startAxis: "x",
  listeners: {
    move(event) {
      const target = event.target;
      target.style.transform = `translate(${event.dx}px, ${event.dy}px)`;
    }
  }
});
  • .no-drag 영역 클릭 시 드래그 안 됨
  • 드래그 시작은 가로(x) 이동만 허용
  • 드래그 중 dx/dy를 이용해 이동

 

 

startAxis: "y"

  • 드래그가 시작되는 **주 축(axis)**을 제한
  • "y" → 드래그 시작 시 세로 이동만 허용
  • "x" → 가로 이동만 허용
  • 지정 안 하면 자유롭게 x/y 방향 모두 이동 가능

 

 

728x90