jQuery UI 대화 상자 OnBeforeUnload
작은 문제가 있습니다. 나는 윈도우의 OnUnLoad 이벤트를 포착하고 확인 질문을하고 사용자가 괜찮다고 결정하면 페이지를 떠나고 싶은 경우 저장되지 않은 모든 데이터를 잃게됩니다. 여기에 문제가 있습니다 ...
jQuery UI 대화 상자를 사용하고 있으며 페이지에 다음 코드를 입력하면 대화 상자가 열리고 브라우저에서 뒤로 단추를 클릭해도 메시지 상자가 나타나지 않습니다. 페이지를 새로 고칩니다.
<script type="text/javascript">
$(window).bind('beforeunload', function() {
alert('you are an idiot!');
}
);
</script>
그리고 제가 사용하고있는 솔루션은 여기 에 게시 되었습니다 . 다시 말하지만, jQuery UI 대화 상자가 열려 있지 않으면 msgbox가 제대로 표시됩니다. 그렇게하면 msgbox가 표시되지 않고 페이지를 새로 고칩니다.
어떤 아이디어?
경고를 표시하는 올바른 방법은 단순히 문자열을 반환하는 것입니다. alert()
직접 메서드를 호출하지 마십시오 .
<script type="text/javascript">
$(window).on('beforeunload', function() {
if (iWantTo) {
return 'you are an idiot!';
}
});
</script>
참조 : https://developer.mozilla.org/en-US/docs/Web/Events/beforeunload
특정 양식을 제출하여 페이지를 떠나는 경우 예외를 만들 수도 있습니다.
$(window).bind('beforeunload', function(){
return "Do you really want to leave now?";
});
$("#form_id").submit(function(){
$(window).unbind("beforeunload");
});
이것은 나를 위해 작동합니다
$(window).bind('beforeunload', function() {
return 'Do you really want to leave?' ;
});
jQuery API는 특히 beforeunload에 바인딩하지 말라고 말합니다. 대신 window.onbeforeunload에 직접 바인딩해야합니다. jQuery를 사용하여 beforeunload에 바인딩하기 때문에 부분적으로 꽤 나쁜 메모리를 만났습니다.
이것은 나를 위해 작동합니다.
window.addEventListener("beforeunload", function(event) {
event.returnValue = "You may have unsaved Data";
});
ASP.NET MVC의 경우 특정 양식을 제출하여 페이지를 떠나는 예외를 만들려면 :
양식 ID 설정 :
@using (Html.BeginForm("Create", "MgtJob", FormMethod.Post, new { id = "createjob" }))
{
// Your code
}
<script type="text/javascript">
// Without submit form
$(window).bind('beforeunload', function () {
if ($('input').val() !== '') {
return "It looks like you have input you haven't submitted."
}
});
// this will call before submit; and it will unbind beforeunload
$(function () {
$("#createjob").submit(function (event) {
$(window).unbind("beforeunload");
});
});
</script>
참고 URL : https://stackoverflow.com/questions/1889404/jquery-ui-dialog-onbeforeunload
'Development Tip' 카테고리의 다른 글
Swift Playground는 UIKit을 지원합니까? (0) | 2020.11.19 |
---|---|
NSFileManager fileExistsAtPath : isDirectory 및 swift (0) | 2020.11.19 |
adb에 대한 연결이 끊어져 심각한 오류가 발생했습니다. (0) | 2020.11.19 |
jquery로 div 하단 위치 찾기 (0) | 2020.11.19 |
Python에서 한 줄의 csv 데이터를 읽는 방법은 무엇입니까? (0) | 2020.11.19 |