xoma2
@xoma2
Программист

Как отследить нажатие кнопки «Назад» браузера?

Я смог отследить backspace
$(document).keydown(function (e) {
            if(e.keyCode == 8){
                e.preventDefault();
                $('.go').find('input[name="back"]').val(1);
                $('.go').submit();
            }
        });


И отправить форму, тоже самое нужно для кнопки назад
  • Вопрос задан
  • 23942 просмотра
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
addEventListener("popstate",function(e){
    alert('yeees!');
},false);
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
IonDen
@IonDen
JavaScript developer. IonDen.com
На обычной странице вы никак не можете отследить подобное нажатие. Все что вы можете узнать - это то, что пользователь пытается покинуть страницу. Для этого вам нужен метод window.onbeforeunload.
Ответ написан
@l_mikhail
Если используете реакт, отследите событие удаления компонента (метод componentWillUnmount()) на классовом компоненте или используйте хук useEffect

useEffect(
() => {
тут что-то происходит после рендера
return () => {
а вот здесь можно запустить то, что Вы хотели отследить при нажатии кнопки "назад" в браузере
};
},
[props.source],
);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы