当我点击某个元素时,我想对该元素做一些事情(比如添加一个类),尽管我不相信我的事件处理程序中的这个'this'元素实际上就是那个元素。下面是我的代码的一个示例:
var ApplicationRouter = Backbone.Router.extend({
routes: {
"": "home",
"firstthing": "firstthing",
},
firstthing: function() {
$(this).addClass('active');
}
});
var ApplicationView = Backbone.View.extend({
el: $('body'),
events: {
'click #something': 'displayFirstThing'
},
initialize: function(){
this.router = new ApplicationRouter();
Backbone.history.start();
},
displayFirstThing: function(){
this.router.navigate("firstthing", true);
},
});
new ApplicationView();
我想在#something中添加“active”类。我会有更多的事件,这些事件会有不同的类等等,但是现在我希望得到一些基本的东西。
同时,接受任何关于代码结构的建议!
2条答案
按热度按时间rqqzpn5f1#
Backbone将事件对象作为第一个参数传递给回调函数,在回调函数中,您可以使用
currentTarget
属性来处理接收事件的元素。pnwntuvh2#
我建议将您要访问的元素存储在视图属性中。
也就是说