티스토리 뷰

ad-create 선택자 클릭 시 adCreatePopupBtn 선택자 클릭 이벤트 중복 방지 예시

document.querySelector("#ad-create").addEventListener("click", async (e) => {

    if(!isProcess) {
        e.stopPropagation();

        if(await checkValidData()) {

            let data = await setData();

            document.querySelector("#popup").classList.add("show");
            document.querySelector(".popup-ad-create").classList.add("show");
            document.querySelector("body").classList.add("no-scroll");

            if(document.querySelector("#adCreatePopupBtn").clickHandler) {
                document.querySelector("#adCreatePopupBtn").removeEventListener("click", document.querySelector("#adCreatePopupBtn").clickHandler);
            }

            document.querySelector("#adCreatePopupBtn").clickHandler = async () => {
                isProcess = true;

                await addAdContent(data);

                isProcess = false;
            }

            document.querySelector("#adCreatePopupBtn").addEventListener("click",  document.querySelector("#adCreatePopupBtn").clickHandler);

        }
    } else {
        alert("등록중입니다.");
    }
});
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함