onbeforeunload 이벤트 사용 시이동만 막으려고 하였으나
a 링크를 이용한 javascript:함수 <- 형식 까지 모두 이동 이벤트 발생으로 제대로 사용 할 수 없다
이를 제대로 쓰기 위해서는
이벤트가 발생하지 말아야 되는 a 링크에 대해서는 아래와 같이 사용하면 컨트롤이 가능하다.
<a href="http://freeutil.net">실제 이동용 </a>
<a onclick="NoPrompt()" href="javascript:alert('test');">함수 호출용 </a>
<script>
// Allow the user to be warned by default.
기본 이벤트 발생 조건값
var allowPrompt = true;
// 페이지 전환에 대한 모든 이벤트 발생 대응
window.onbeforeunload = WarnUser;
// 이벤트 조건
function WarnUser(){
if(allowPrompt) {
event.returnValue = "You have made changes. They will be lost if you continue."; }
else
{ // Reset the flag to its default value.
allowPrompt = true;
}
}
// 이벤트 발생 막기
function NoPrompt(){
allowPrompt = false;
}
</script>


최근등록 댓글