addClass for jquery не добавляет "активный", но вызывает вызов (см. ниже, оба console.logs срабатывают)
events: {
'click .nav-sidebar li': 'menuChange'
},
menuChange: function (ev) {
$(ev.currentTarget).addClass(function() {
console.log('Class added....supposedly');
return 'active';
});
console.log('Selector!');
}
Я просто добавлял класс как .addClass('active')
но это не работало, поэтому я использовал эту функцию с консольным журналом, чтобы убедиться, что он достиг, хотя я не знаю, почему это не так.
Кроме того, это не мой css, потому что я поставил там debugger
и проверил ev.currentTarget в firebug и добавил класс вручную, который он отлично работает. Он просто не добавляет класс при нажатии.
<ul class="nav nav-sidebar">
<li><a href="#/account/settings">Settings</a></li>
</ul>
<li>
должен иметь активный класс, добавленный к нему.
Моя проблема заключалась в том, что ссылки сбрасывают изменение маршрута, которое предназначено для визуализации подвью, но этот маршрут повторно отображает всю страницу, удаляя любые изменения, внесенные мной в DOM, и сброс на шаблон по умолчанию, эффективно отменяющий мои изменения (добавление " активный 'класс).
ev.currentTarget