Ответ 1
Это должно сделать
<script>
$(document).on('click',function(){
$('.collapse').collapse('hide');
})
</script>
Это справочный
Когда я нажимаю, меню не скрывается, я нашел этот код: http://getbootstrap.com/components/#navbar но не работает так, как должно.
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.php">
<img class="desktop-logo" src="img/logo.png" alt="Company title">
<img class="mobile-logo" src="img/logo-white.png" width="169" alt="">
</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class=""><a href="index.php">List</a></li>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
Да, я получил: установлены соответствующие библиотеки: Bootstrap v3.0.3. Ошибок javascript нет, и код HTML действителен.
Шаги для воспроизведения: Загрузите zip-пакет bootstrap 3.0.3, создайте файл index.html, вставьте css и js файлы для загрузки. Введите вышеуказанный код и не закрывайте его при нажатии или прикосновении.
Итак, это код, предназначенный для скрытия меню или нет?
Это должно сделать
<script>
$(document).on('click',function(){
$('.collapse').collapse('hide');
})
</script>
Это справочный
У меня была та же проблема, и решение заключалось в том, чтобы убедиться, что bootstrap.js
не ссылается более одного раза. Я загрузил его два раза на свою страницу и эту описанную проблему.
<script src="/js/bootstrap.min.js"></script>
Не загружайте его более одного раза!
Приведенное выше показало странное поведение для меня, где иногда на навигационной панели появлялась полоса прокрутки. Это может быть от некоторых фантазийных css, но ниже это исправлено для меня.
$(document).on('click',function(e){
if($('#bs-example-navbar-collapse-1').hasClass('in')){
$('.collapse').collapse('hide');
}
})
Существует другое решение здесь, которое также работает при подменю.
<script>
$(document).on('click','.navbar-collapse.in',function(e) {
if( $(e.target).is('a') && $(e.target).attr('class') != 'dropdown-toggle' ) {
$(this).collapse('hide');
}
});
</script>
У меня была та же проблема. Не используйте script "взломать". Просто попробуйте использовать jquery 2.1.4 или старше.
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<script src="js/bootstrap.min.js"></script>
^ У меня был слишком большой файл .js. Измените свои строки так, чтобы они выглядели выше, и кнопка реагирования также должна закрыть меню.