У меня есть родительский div content_div
, который содержит элементы формы внутри таблицы, где пользователь выбирает несколько элементов строки (строки, по которым можно кликать), download link elements
и т. Д.
У меня есть всплывающее окно с предупреждением об изменениях пользователяГотово, а затем попробуйте обновить, не нажимая кнопку Сохранить.
Когда я выбираю строку и пытаюсь щелкнуть ссылку загрузки внутри этой строки, мне не нужно показывать всплывающее окно с предупреждением. У меня есть следующий код, но он не работает.
Если я невыберите любые строки и попытайтесь щелкнуть по любой ссылке для загрузки, но всплывающее окно не отображается, значит, это нормально.
Если я выберу какие-либо строки и затем попытаюсь щелкнуть по любой ссылке для загрузки, появится всплывающее окно, которое неверно вмой случай.
Если пользователь нажимает на некоторые другие ссылки за пределами моего # content_div, это показывает всплывающее окно, которое верно для меня.
$(function() {
var formmodified = 0;
//click event for each row inside the table
$(".course_row").click(function(e) {
-- -- -
formmodified = 1; //setting the variable to 1 means user
has changed something inside the page
});
//when form submits
$("#submit").click(function() {
formmodified = 0; //assuming that form is saved after form change
});
//function for warning popup
window.onbeforeunload = confirmExit;
function confirmExit() {
var element_clicked = 0;
//#content_div is the main parent which contain the entire
contents.
$('#content_div').children().on('click', function(e) {
console.log('clicked');
element_clicked = 1; //means the clicked element is inside the #content_div which can be a link or other things
});
console.log(element_clicked);
EDIT: I am always getting element_clicked value as 0 when I click any element inside the div.The value 'clicked'
is showing.I dont know why the value
for the variable is not setting to 1
if (element_clicked) {
//element_clicked = false;
return; // abort beforeunload
} else {
if ((!element_clicked) && (formmodified == 1)) {
return "The selected courses are not saved.
Do you wish to leave the page ? ";
}
}
}
});
Пожалуйста, помогите мне в этом случае. Спасибозаранее