Backbone - 悬停时的toggleClass

时间:2013-05-08 00:29:01

标签: jquery backbone.js addclass toggleclass

我是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!")

}

});

这到底出了什么问题?任何帮助将不胜感激!

2 个答案:

答案 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');