シナリオ:ウィンドウの変更についてユーザーに警告したいだけです。だから私はjQueryのウィンドウのぼかしを使用しました& JavaScriptの確認ダイアログボックス。ユーザーが[OK]ボタンをクリックすると、アプリケーションは別のページ&にリダイレクトされます。ユーザーがCANCELボタンをクリックすると何も起こりません。彼は同じページで作業を続けることができます。JavaScriptの確認ダイアログボックスでキャンセルイベントが発生したときに再生成を続ける
問題::OKボタンは完全に機能していますが、キャンセルボタンをクリックすると、ブラウザはダイアログボックスを再生成し続けます。それをどうやって止めるの?
CODE:
$(window).blur(function (e) {
var closeWindow = window.confirm("Your test will be cancelled if you switch the tabs.");
if (closeWindow) {
// redirect to another page
}
else {
// do nothing.
}
});
ユーザーは 'blur'イベントが発生することが原因と、別のタブをクリックしますが、ブラウザはタブを変更するために管理する前に、それは' confirm'ダイアログで停止しています。ユーザーがキャンセルすると、ブラウザはタブを変更しようとし続け、「blur」イベントを発生させ、再び中断されます。これはおそらく永遠に続く(今Chrome 58でテストされている)。 – ROAL