У меня есть функция выхода из системы, которая вызывается в двух разных событиях. Один из них - событие разгрузки, другое - событие щелчка. Если я выгружаю или обновляю страницу, вызывается функция и пользователь выходит из системы. Однако, когда я нажимаю кнопку выхода, функция не вызывается. Может ли кто-нибудь объяснить, почему?Функция, работающая в событии разгрузки, но не в событии click
JS
var loc = "../pages/logged_out.php";
function logout(location){
$.post("../php/logout.php", {}, function(response){
if(response.success == "1"){
location.replace(location);
}
}, "json");
}
$("#logout").on("click", function(){
logout(loc);
})
$(window).unload(function(){
logout(loc);
})
HTML
<button class="button" name="logout" id="logout">Logout</button>
Edit: Одна вещь, которую я не упомянул, что если я функция анонимной и не пытаются передать местоположение в качестве аргумента, скрипт работает нормально.
** Вы должны связать событие один раз элемент доступен в DOM **, попробуйте обернув его в документ, готовый обработчик или установить его непосредственно перед закрывающим тегом BODY или делегирует событие –
Это уже в функции document.ready –
Является ли этот элемент динамически добавлен в DOM? Есть ли повторяющиеся идентификаторы? –