[TypeScript] 제스처로 대화하기. #5 - 롱 프레스 편
![[TypeScript] 제스처로 대화하기. #5 - 롱 프레스 편](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fstock%2Funsplash%2FNEmWWfMvfpw%2Fupload%2Fcd6ff0bd2c7d74efcf9ca33c40c47eee.jpeg&w=3840&q=75)
잠깐!
PointerEvent에 대해 아직 잘 모른다면 [typescript] 포인터 대통합(with. PointerEvent)을 먼저 읽어보세요!
롱 프레스는 긴 시간 동안 누른 상태를 유지하는 것을 말합니다. 긴 시간은 어느 정도의 시간을 말할까요? 예상하셨을 수도 있겠지만 정해진 표준은 없습니다. 그러나 일반적으로 1,000ms 이내를 말하며, 그중에서도 500ms를 많이 사용합니다.
롱 프레스는 일정 시간 후에 발생하는 것이 기본입니다. 따라서 pointerdown에서 타이머를 통해 콜백을 설정하고, 여기서 핸들링해야 합니다.
const handle = setTimeout(() => {
// ...
}, maxDuration - performance.now() + e.timeStamp);
만약 pointerup이 먼저 발생한다면 타이머를 제거해야 합니다.
document.addEventListener("pointerup", () => clearTimeout(handle));
이렇게 하면 간단히 롱 프레스를 감지할 수 있습니다.
내용은 다음 편에서 이어집니다. 읽어주셔서 감사합니다!
묻고 답하기
개인적인 판단에 의해 적절하다고 여겨지는 경우, 모두가 볼 수 있도록 이곳에 문답이 추가됩니다. 그렇지 않더라도 질문에 대한 답변은 별도로 이루어집니다.
![[TypeScript] 자료 구조로 담아내기. #14 - 연결 리스트(with. 이중 연결)](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fstock%2Funsplash%2FJZ8AHFr2aEg%2Fupload%2F64ada685c81df630bc522030ccb249a6.jpeg&w=3840&q=75)
![[TypeScript] 자료 구조로 담아내기. #13 - 연결 리스트(with. 탐색)](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fstock%2Funsplash%2F11KDtiUWRq4%2Fupload%2F9d73119b329ff023d19fc6162630671c.jpeg&w=3840&q=75)
![[TypeScript] 자료 구조로 담아내기. #12 - 연결 리스트(with. null 노드)](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fstock%2Funsplash%2F5v235ueAU58%2Fupload%2F265377fe2e8da28d69701f873c907dc4.jpeg&w=3840&q=75)
![[TypeScript] 자료 구조로 담아내기. #11 - 연결 리스트(with. 헤드 노드)](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fstock%2Funsplash%2Fv8pL84kvTTc%2Fupload%2Fd70e9fdf03dc1e678f9026bee97e822d.jpeg&w=3840&q=75)
![[TypeScript] 자료 구조로 담아내기. #10 - 연결 리스트(with. 연결)](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fstock%2Funsplash%2FXe7za0JtTeM%2Fupload%2F1b7999ae5b4dd213025f4034465ddb80.jpeg&w=3840&q=75)