[JQUERY] raster 윈도우가 실수로 닫힐 때 경고합니다
JQUERYraster 윈도우가 실수로 닫힐 때 경고합니다
해결법
-
1.우리는 사용자가 자신의 데이터를 잃게 될 이러한 행동을 취할 것을 사용자에게 예방하거나 신속해야합니다.
우리는 사용자가 자신의 데이터를 잃게 될 이러한 행동을 취할 것을 사용자에게 예방하거나 신속해야합니다.
ID TestButton이있는 ASP.NET 제출 버튼을 사용한 두 개의 텍스트 상자를 사용했습니다. 내가 찍은 다른 포스트 백 제어 하나의 다른 ASP.NET 버튼, AutoPostBack 등록 정보가있는 하나의 확인란이 True, AutoPostBack 속성이있는 하나의 DropDownList가 TRUE입니다. 이제 이러한 모든 포스트 백 컨트롤을 사용하여 사용자가 이러한 컨트롤에 대한 작업을 수행 할 때 데이터가 끊어지는 사용자에게 곶을 표시해야한다는 것을 보여줍니다. 제출 버튼에서는 해당 컨트롤 작업으로 데이터를 제출 해야하는 경우 프롬프트를 표시하지 않습니다. 샘플 코드는 Controls 변경시 윈도우를 설정합니다.
<html > <head id="Head1"> <title></title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <script type="text/javascript"> $(function() { // Prevent accidental navigation away $(':input').bind( 'change', function() { setConfirmUnload(true); }); $('.noprompt-required').click( function() { setConfirmUnload(false); }); function setConfirmUnload(on) { window.onbeforeunload = on ? unloadMessage : null; } function unloadMessage() { return ('You have entered new data on this page. ' + 'If you navigate away from this page without ' + 'first saving your data, the changes will be lost.'); } window.onerror = UnspecifiedErrorHandler; function UnspecifiedErrorHandler() { return true; } }); </script> </head> <body> <form id="form1" name="myForm" runat="server"> <div> First Name :<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br /> <br /> Last Name :<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br /> <br /> IsMarried :<asp:CheckBox ID="CheckBox1" runat="server" /><br /> <br /> <asp:Button runat="server" ID="TestButton" Text="Submit" CssClass="noprompt-required" /><br /> <br /> <br /> <br /> <br /> <asp:Button runat="server" ID="AnotherPostbackButton" Text="AnotherPostbackButton" /><br /> <br /> <asp:CheckBox runat="server" ID="CheckboxWhichCausePostback" Text="CheckboxWhichCausePostback" AutoPostBack="true" /><br /> <br /> DropdownWhichCausePostback<asp:DropDownList runat="server" ID="DropdownWhichCausePostback" AutoPostBack="true"> <asp:ListItem Text="Text1"></asp:ListItem> <asp:ListItem Text="Text2"></asp:ListItem> </asp:DropDownList> <br /> <br /> </div> </form> </body>
위의 나는 다음을 사용했습니다 :
$('.noprompt-required').click(function() { setConfirmUnload(false); });
이 줄에서 수행 한 내용은 setConfirmunload 메서드를 호출하고 false를 인수로 호출하고 있으며 윈도우를 설정합니다. 그렇다면 그 의미는 그 사용자가 묻는 메시지가 표시되지 않아야 할 모든 컨트롤에 있으며 해당 클래스를 제어 할 수 없으며 다른 것처럼 다른 것으로 남겨 두십시오.
-
2.이것은 정말로 jQuery 일이 아니며,이 기능을 사용합니다.
이것은 정말로 jQuery 일이 아니며,이 기능을 사용합니다.
function setConfirmUnload(on) { window.onbeforeunload = (on) ? unloadMessage : null; } function unloadMessage() { return "Are you sure you want to leave this page"; }
그런 다음 언제든지 전화 할 수 있습니다
경고없이 화면을 닫을 수있게하려면 확인 또는 false를 사용하려면 SetConfirmUnload (true)를 사용하여 (인스턴스에 닫기 단추가있는 경우).
-
3.언로드 이벤트를 시도 할 수 있습니다.
언로드 이벤트를 시도 할 수 있습니다.
$(window).unload( function () { alert("Bye now!"); } );
http://docs.jquery.com/Events/unload
나는이 정리가 클라이언트에만 있다고 추측하고 있습니다. 이 "정화"의 성격을 아는 것은 흥미로울 것입니다.
-
4.Ajax로 이것을 시도 할 수 있습니다
Ajax로 이것을 시도 할 수 있습니다
$(window).unload( function () { alert("AJAX function to do required job"); } );
from https://stackoverflow.com/questions/1244535/alert-when-browser-window-closed-accidentally by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] jQuery.css ( "backgroundColor")를 16 진수 형식으로 반환 할 수 있습니까? (0) | 2020.10.31 |
---|---|
[JQUERY] 요소가 애니메이션되고있는 경우 jQuery로 어떻게 알아 낼 수 있습니까? (0) | 2020.10.31 |
[JQUERY] jQuery에서 특정 ID가있는 모든 요소를 선택하는 방법은 무엇입니까? (0) | 2020.10.31 |
[JQUERY] 선택 사항을 변경하는 방법 다른 선택 옵션을 기반으로 선택한 옵션을 선택하십시오. (0) | 2020.10.31 |
[JQUERY] 자바 스크립트 - 머리, 몸 또는 jquery? (0) | 2020.10.31 |