У меня есть кнопка с дополнительными опциями в моем приложении, которая при нажатии отображает список опций (который был скрыт по умолчанию), и пользователь может нажать на любую из опций. Теперь, когда я нажимаю аппаратную кнопку «Назад» моего телефона, то, что я хочу, находится в списке первого щелчка, должен быть скрыт (если он виден), и при втором щелчке пользователь должен иметь возможность перейти на предыдущую страницу.
$scope.$on('$locationChangeStart', function(scope, next, current){
if($('.popup-more').eq(0).css('display') === 'block'){
$('.popup-more').eq(0).css('display','none');
scope.preventDefault();
}
else{
console.log("Pop up is already hidden.");
}
});
Недостаток приведенного выше кода - предотвращение. Не только я не могу перейти на предыдущую страницу напрямую, если отображается мой список, но и мешает перейти к элементам списка. Я имею в виду, что это очевидно, потому что каждый раз, когда мой дисплей блокируется, он будет препятствовать перенаправлению на другую страницу, связанную с элементами списка.
Я использую AngularJ для создания приложения.