0
フォームの下部にさまざまなナビゲーションボタンがあります。ユーザーがフォームに変更を加えた後、リンクやボタン以外のボタンをクリックすると、保存されていない変更についてブラウザに警告する警告が表示されます。IEでイベントターゲット要素を選択
ナビゲーションボタンはすべて、データ属性data-save-form
を持っており、次のようにスクリプトは現在、次のとおりです。
var formChanged = false;
$('form').on('change', 'input, textarea, select', function() {
formChanged = true;
});
$(window).on('beforeunload', function (e) {
if (!$(e.target.activeElement).is('[data-save-form]') && formChanged) {
return "Changes you made may not be saved. You can save your progress by clicking the 'Save and Exit' button at the bottom of the page.";
}
});
しかし、IEのイベントオブジェクトには、target.activeElement
プロパティを持っていないようです。どのようにしてこの要素を見つけることができますか?これにはもっと良い方法がありますか?
これはjQuery 1.11.0を使用している古いサイトですが、この目的では必須ではないと確信しています。