jquery addclass не работает на магистральном событии

0

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> должен иметь активный класс, добавленный к нему.

  • 0
    Вы можете проверить, что такое ev.currentTarget
  • 0
    Вы уверены, что создаете Backbone.View правильным способом?
Показать ещё 9 комментариев
Теги:
backbone.js

1 ответ

0
Лучший ответ

Моя проблема заключалась в том, что ссылки сбрасывают изменение маршрута, которое предназначено для визуализации подвью, но этот маршрут повторно отображает всю страницу, удаляя любые изменения, внесенные мной в DOM, и сброс на шаблон по умолчанию, эффективно отменяющий мои изменения (добавление " активный 'класс).

  • 1
    Это имеет смысл. Таким образом, вам нужно добавить активный класс на основе маршрута после того, как страница будет отображена.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню