JavaScript alert 확인 후 콜백처럼 이벤트 처리하는 방법

alert 콜백은 지원하지 않습니다. 그런데, 많은 분이 alert() 이후 특정 동작을 실행하고 싶어 합니다. 하지만 alert()는 콜백을 지원하지 않기 때문에, 직접 콜백처럼 사용하는 구조화된 함수 패턴이 필요합니다. 이 글에서는 간단한 콜백 패턴과 대안 라이브러리까지 소개합니다.

alert 콜백 방법

alert() 콜백 지원안함

alert("alert() 창");
alert("창 닫히면 실행");
JavaScript

위 소스를 보면 첫번째 alert() 창이 호출되고, 닫으면 그 다음 alert() 순서대로 실행 됩니다.

함수로 콜백 처리 방법

function showAlert(callback) {
  alert("알림창입니다!");
  if (typeof callback === "function"){
    console.log("다음 작업 실행됨!"); // 확인 누른 뒤 실행됨
  }
}
JavaScript

👉 콜백 함수를 인자로 전달하는 방식 → 실제 콜백처럼 작동

confirm()으로 조건 콜백 처리

function alertConfirm()
{
  if( confirm("정말 삭제하시겠습니까?") ){
    alert("삭제");
  }else{
    alert("삭제안함");
  }
}
JavaScript

확인/취소 여부에 따라 콜백처럼 조건별 실행 가능. 2개 이상은 불가능

SweetAlert2로 콜백 처리 방법

Swal.fire({
  title: "게시물삭제",
  text: "삭제 후 복구는 불가능합니다.",
  showDenyButton: true,
  showCancelButton: true,
  showCloseButton: true,
  confirmButtonText: "삭제",
  denyButtonText: "삭제보류"
}).then((result) => {
  if (result.isConfirmed) { // 삭제
    Swal.fire("삭제완료!", "", "success");
  } else if (result.isDenied) {
    Swal.fire("삭제보류", "", "info");
  }
});
JavaScript

마무리

alert 콜백은 개발 초반에 많은 의문을 줬습니다.
왠지 JavaScript에 있을 것만 같은 기능을 내가 초보라서 못 찾고 있는 거로 생각했지만, 정말 콜백은 지원을 안 한다는 것을 깨닫고, 여러 가지 방법으로 커스텀을 해서 사용했지만 결국 SweetAlert가 전 제일 좋은 거 같습니다. 누가 만들었는지 정말 잘 만들었습니다.

개발용 키보드 추천

AULA 아우라 독거미 유무선 기계식 키보드, 블랙, F87 Pro, 저소음 피치축
AULA 타란튤라 F87/F87PRO독거미 키보드 가스켓구조 기계식키보드, 그레이축V4, F87 Pro, 네이비그레이
AULA KTT 독거미 한글 펀키스 유선 기계식 키보드, 다크올리비아, F87Pro, 저소음 바다축
NUPHY AIR96 V2 기계식 키보드 적축 블루투스 무선 유선 풀배열 슬림형, 아이오닉 화이트
키크론 K8 MAX ALU 유무선 RGB 기계식 텐키리스 키보드 핫스왑, 레트로, K8M-M6, 적축

“이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.”

위로 스크롤