2016-02-07 11 views
3

Я создал проект Meteor, который использует Twitter Bootstrap для макета. У меня есть Nav-bar, который выложен следующим образом: Bootstrap ComponentsTWBS Meteor Navbar collapse не работает

Моя проблема в том, что на мобильном устройстве навигационная панель переходит в сворачиваемый режим (это нормально), но когда я нажимаю ссылки, которые маршрутизируются на другие шаблоны (с использованием пакета iton: router). Складываемое меню остается расширенным. Есть ли способ закрыть его при выборе элемента?

ответ

3

Просто добавьте:

$(".navbar-toggle").click(); 

Для каждого маршрута вы хотите (в router.js файле). Или лучший вариант - определить его как функцию, которую вы вызываете на каждом маршруте.

Router.route('/somewhere', function(){ 
    $(".navbar-toggle").click(); 
    this.render("navbar", {to:"navbar"}); 
    this.render("something", {to:"main"}); 
}); 

Edit:

Использование $('.navbar-toggle').click(); однажды от вместо того, чтобы применить его к каждому маршруту, вы можете сделать следующее в router.js файле:

Router.configure({ 
    onAfterAction: function() { 
    if($('#navbar-collapse').hasClass('in')) { 
     $('.navbar-toggle').click(); 
    } 
    } 
}); 
+0

Спасибо, я редактирую ваш ответ, чтобы сделать еще более эффективный способ делать вещи, мне просто нужно, чтобы $ (". navbar-toggle"). click function :) –