我想将.active
- 类添加到已单击的特定menuItem中,因此在我的Backbone View中我有:
initialize: function () {
if(this.model.has('triggers') && this.model.get('triggers') == this.model.get('route')) {
this.$el.addClass('active');
} else {
this.$el.removeClass('active');
}
}
这给了<li>
活动类,但我希望<a href>
- 元素具有活动类,所以我尝试了:
this.$el.closest('a').addClass('active');
但显然这不起作用,因为我成为* Uncaught SyntaxError:意外的标识符* -error。有解决方案吗?
答案 0 :(得分:3)
尝试.find()
this.$el.find('a').addClass('active');
答案 1 :(得分:2)
最佳解决方案,在视图中使用主干 EVENTS OBJECT ,因为它是一种BACKBONE方式。
var view = {
//some code before
events: {
"click a.YOUR_CLASS_TO_WATCH_CLICK_EVENT": "handler"
},
handler: function(e){
var target = $(e.currentTarget);
target.addClass("active");
return false;
}
//some code after
}
请添加到<a class="SOME_CLASS">
某个className,并将YOUR_CLASS_TO_WATCH_CLICK_EVENT更改为此className。