구체적인 요구 사항은 다음과 같습니다.
beforeunload 이벤트를 창에 바인딩하고 페이지를 전환하거나 닫을 때 입력 내용이 저장되었는지 확인하지만 제출 버튼을 클릭하면 beforeunload 이벤트도 트리거됩니다. . 양식 제출이 이 이벤트를 유발하는 것을 방지하는 방법은 무엇입니까?
코드 일부:
<code> if ($scope.model.isSaving) { window.onbeforeunload = function (e) { e = e || window.event; // 兼容IE8和Firefox 4之前的版本 if (e) { e.returnValue = '关闭提示'; } // Chrome, Safari, Firefox 4+, Opera 12+ , IE 9+ return '关闭提示'; }; }</code>
버튼의 제출 이벤트에서 바인딩을 해제할 수 있습니다
<code>$(window).off('beforeunload')或者window.onbeforeunload = null; </code>
구체적인 요구 사항은 다음과 같습니다.
beforeunload 이벤트를 창에 바인딩하고 페이지를 전환하거나 닫을 때 입력 내용이 저장되었는지 확인하지만 제출 버튼을 클릭하면 beforeunload 이벤트도 트리거됩니다. . 양식 제출이 이 이벤트를 유발하는 것을 방지하는 방법은 무엇입니까?
코드 일부:
<code> if ($scope.model.isSaving) { window.onbeforeunload = function (e) { e = e || window.event; // 兼容IE8和Firefox 4之前的版本 if (e) { e.returnValue = '关闭提示'; } // Chrome, Safari, Firefox 4+, Opera 12+ , IE 9+ return '关闭提示'; }; }</code>
버튼의 제출 이벤트에서 바인딩을 해제할 수 있습니다
<code>$(window).off('beforeunload')或者window.onbeforeunload = null; </code>
바인딩 버튼 이벤트, Ajax 제출 양식
클릭 이벤트를 제출한 후 현재 페이지에 머무르고 이 이벤트를 트리거하지 마세요! 이것이 효과가 있는지 모르겠습니다.
Ajax를 사용하여 양식을 제출하고 결과를 반환받을 수 있습니다.