我是Backbone的新手并理解这个想法,但是我在编写一个简单的toggleClass函数时遇到了麻烦。我的网站是一个正方形网格,当一个正方形具有“悬停”类时,某些css会导致外观发生变化(显然)。我的问题是toggleClass无法正常工作。我的代码如下:
var IndexView = Backbone.View.extend({
el: $('#main'),
indexTemplate: $("#indexSquare").template(),
events: {
"mouseover .square" : "mouseovercard"
},
render: function() {
removeFallbacks();
var sg = this;
this.el.fadeOut('fast', function() {
sg.el.empty();
$.tmpl(sg.indexTemplate, sg.model.toArray()).appendTo(sg.el);
sg.el.fadeIn('fast');
});
return this;
},
mouseovercard: function() {
$(this).toggleClass('hover')
console.log("hey you're hovering!")
}
});
这到底出了什么问题?任何帮助将不胜感激!
答案 0 :(得分:3)
this
引用View
对象,使用currentTarget
对象的event
属性。
mouseovercard: function(event) {
$(event.currentTarget).toggleClass('hover');
console.log("hey you're hovering!");
}
答案 1 :(得分:1)
您可以使用骨干视图的$el属性:
this.$el.toggleClass('hover');