Computer >> 컴퓨터 >  >> 프로그래밍 >> HTML

Fabric.js에서 마우스 클릭 시 HTML5 캔버스 레이어가 사라지고 이미지 캔버스 생성 시 Firefox가 응답하지 않는 문제 해결 방법

문제 상황

Fabric.js를 활용해 웹 애플리케이션을 개발하다 보면, 마우스 클릭 이벤트가 발생했을 때 HTML5 캔버스 레이어가 갑자기 사라지는 현상이나, 이미지를 위한 캔버스를 생성하는 과정에서 Firefox 브라우저가 응답을 멈추는 문제가 발생할 수 있습니다.

해결 방법: 이미지 드래그 앤 드롭 방식 활용

이러한 문제를 우회하는 효과적인 방법 중 하나는, 사용자의 컴퓨터에 저장된 이미지 파일을 캔버스 위로 직접 드래그 앤 드롭하는 방식을 구현하는 것입니다. Fabric.js는 이러한 기능을 손쉽게 지원합니다.

드래그 앤 드롭을 가능하게 하려면 이미지 요소의 draggable 속성을 true로 설정하면 됩니다. 아래와 같이 간단히 적용할 수 있습니다.

<img draggable="true">

이렇게 설정하면 해당 이미지 요소를 마우스로 끌어서 캔버스 영역에 놓을 수 있게 되며, Fabric.js의 관련 이벤트 핸들러와 연동하여 캔버스에 이미지를 자연스럽게 추가할 수 있습니다.