[Javascript] 페이지에서 새로고침, 뒤로가기 시 안내 메시지 나타내기
반응형
<script type="text/javascript">
window.addEventListener('beforeunload', (event) => {
// 명세에 따라 preventDefault는 호출해야하며, 기본 동작을 방지합니다.
event.preventDefault();
// 대표적으로 Chrome에서는 returnValue 설정이 필요합니다.
event.returnValue = '';
});
</script>
페이지가 변경되는 경우 위와 같은 스크립트를 이용하여 경고 메시지를 나타낼 수 있다.
하지만, 폼에 내용을 작성하고 저장하는 페이지를 구현했을때는 저장을 누르는 순간에도 해당 안내창이 나타난다.
방법은 아래와 같은 방법으로 해결이 가능하다.
<script type="text/javascript">
var checkUnload = true;
$(window).on("beforeunload", function(){
if(checkUnload) return '이 페이지를 벗어나면 작성된 내용은 저장되지 않습니다';
});
$("#form").submit(function(){
checkUnload = false;
});
</script>
위와 같은 방법으로 적용을 하면 form의 submit 이벤트가 아닌 경우에는 안내메시지를 나타낸다.
출처:
반응형
'Programming > JavaScript & jQuery' 카테고리의 다른 글
[Javascript] 숫자를 한글로 표시하는 자바스크립트 (0) | 2025.03.06 |
---|---|
tabslet 과 slick 함께 사용할 경우 slick 노출에 문제가 발생되는 경우 해결 방법 (0) | 2023.11.02 |
[Javascript] input & textarea 커서 위치에 텍스트 입력하기 (0) | 2023.03.03 |
[Javascript] split 함수를 이용한 문자열 배열로 자르기 (0) | 2022.12.07 |
[Javascript] var, let, const 차이점 (2) | 2022.12.01 |