2
텍스트 필드에 ID = "Text1", 함수를 발생시키는 Text1 필드가 포커스를 잃을 때 "validateField()"가 표시됩니다. 또한 Enter 키가 눌려 졌는지 확인합니다 "onKeyDown에")JavaScript가 창을 닫을 때 함수가 실행되지 못하도록 함
예 :
<input type=text ID="Text1" onkeydown="wasEnterKey(); " onblur="validateField()" >
문제는 그 사용자가 윈도우,이 이벤트가 발생을 닫고 나가 일어나는 것을 방지하고 싶을 때.
나는 validatField 기능에 window.onbeforeunload 및 window.onunload를 사용하는 것을 시도했다 :
function validateField()
{
if (window.onbeforeunload) {
window.open('','_parent','');window.close(); return false;
}
... (other actions follow)
}
어떤 도움을 크게 감상 할 수있다.
'window.onbeforeunload'는 이벤트 처리기입니다. 페이지를 언로드하기 직전에 실행하려는 함수에 할당합니다. 당신이 할 수 있다고 생각하는 것처럼 언로 드하고있는 중이라는 것을 확인할 수는 없습니다. – lanzz
이벤트 발생을 피하려면 try window.onbeforeunload = null –
한 가지 방법은 setTimeout을 사용하여 나중에 콜백을 exec 할 수 있기 때문에 창을 닫으면 실행되지 않습니다. 슈퍼 깨끗한 없습니다. 더 좋은 방법이 있는지 궁금합니다. – 3on