2017-04-12 4 views
0

私はフォームを持っています。これは、-some-要素がフォーカスされているときに変化します。
私はページを離れるときに警告を受けたい。その要素がいつ変わったかを私に知らせるフラグを守っています。
問題は「このページは、あなたが残しておきたいことを確認するためにあなたを求めている」警告がということです - 促し常にある。beforeunloadは常にトリガされますか?

function checkSave(){ 
    return PageWasChanged; // it is correct, checked 
} 
$(window).on("beforeunload", function (eve) { 
    if (checkSave()) { 
     return true; 
    } 
    else { 
     return false; 
    } 
}); 
+1

コードにはプロンプトがありません。 – evolutionxbox

+0

*は*のためのdupetargetを持っています... –

+0

@evolutionxbox:プロンプトはブラウザから来ます。 –

答えて

1

beforeunloadは、他のイベントのようではありません。そのハンドラがundefined(ドンを返すことになっています。 「Tはプロンプト)または)プロンプトのテキストとして使用されるように使用されるが、最近のブラウザではない文字列を(示し

ので:。

$(window).on.("beforeunload", function() { 
    if (!checkSave()) { 
     return "You have unsaved changes."; 
    } 
}); 

やjQueryのなしを:

window.onbeforeunload = function() { 
    if (!checkSave()) { 
     return "You have unsaved changes."; 
    } 
}; 
関連する問題