[ JavaScript / jQuery ] alert 창의 값 여부에 따라 페이지 이동 구현

2024. 5. 25. 17:11· FRONT-END/└ JS

환경 : Visual Studio Code

 

 

[ 주요 코드 ]

    <script type="text/javascript">
        $(function(){
            //사용자에게 물어보고 확인을 누르면 이동하는 링크 구현
            //메세지는 설정할 수도 있고 하지 않을 수도 있으며, 하지 않은 경우 기본메세지를 출력
            $("a.link-confirm").click(function(){
                var message = $(this).data("message");
                if(message == undefined) {
                    message = "정말 이동을 원해?";
                }
                var choice = window.confirm(message);
                return choice;
                // return ture;//통과
                // return false;//차단
            });
        });
    </script>

 

if(message == undefined) {
        message = "정말 이동을 원해?";
}

     (+) 현재 this에 들어있는 데이터 "message"의 값이 undefined라면, "정말 이동을 원해?" 라는 메시지를 출력해준다. 

 

return choice;
// return ture;//통과
// return false;//차단

    (+) choice 변수에 message에 대한 확인 결과 값을 넣었으므로 choice 값을 리턴해주면, 사용자가 입력한 값 true/false 중 하나의 값이 반환된다. 

 


[ 전체 코드 ]

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Javascript 예제</title>

    <!-- 구글 폰트 -->
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100..900&display=swap" rel="stylesheet">
     
    <!-- 내가 구현할 스타일 -->
    <link rel="stylesheet" type="text/css" href="../css/commons.css">
    <link rel="stylesheet" type="text/css" href="../css/test.css">
    
    <!-- font awesome 아이콘 CDN -->
    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
    
    <style>

    </style>

    <!-- jquery cdn -->
    <script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>

    <!-- javascript를 의도적으로 head 자리에 배치해서 가장 먼저 실행되도록 구현 -->
    <script type="text/javascript">
        $(function(){
            //사용자에게 물어보고 확인을 누르면 이동하는 링크 구현
            //메세지는 설정할 수도 있고 하지 않을 수도 있으며, 하지 않은 경우 기본메세지를 출력
            $("a.link-confirm").click(function(){
                var message = $(this).data("message");
                if(message == undefined) {
                    message = "정말 이동을 원해?";
                }
                var choice = window.confirm(message);
                return choice;
                // return ture;//통과
                // return false;//차단
            });
        });
    </script>
</head>
<body>


    <div class="container w-500">
        <div class="cell center">
            <h1>jQuery 기본이벤트 제어</h1>
        </div>
        <div class="cell">
            <a href="https://www.naver.com" class="link link-animation">네이버</a>
            <a href="https://www.naver.com" class="link link-animation link-confirm">네이버</a>
            <a href="https://www.naver.com" class="link link-animation link-confirm" data-message="안녕?">네이버</a>
        </div>
    </div>
 

</body>
</html>

 

 

 

개인 공부 기록용입니다:)

728x90