Triggerfunktion bei Klick, wenn View eine bestimmte Klasse hat (backbone.js)

Ich habe eindiv generiert von einer backbone.js Ansicht. Wenn der Benutzer darauf klicktdiv, eine Klasseactive wird dem hinzugefügtdiv und die FunktionaddToSet ausgeführt wird.

Problem: Ich möchte, dass beim Anzeigen eine andere Funktion ausgelöst wirddiv hat die klasseactive. Allerdings hat mein unten dargestellter Versuch immer zur FolgeaddToSet Funktion, die ausgeführt wird, wenn auf sie geklickt wird.

Jetzt entferne ich'click': 'addToSet' von demevents Funktion, nur verlassen'click .active': 'removeFromSet'. Klicken Sie auf diediv verursacht nichts zu passieren! Dies liegt daran, dass der Ereignishandler den nicht auswählen kanndiv der Ansicht selbst, nur die Elemente in ihm?

Irgendeine Idee, wie ich dieses Problem lösen kann? Vielen Dank!

JS-Code

SetView = Backbone.View.extend({
    tagName: 'div',
    className: 'modal_addit_set',

    template: _.template( $('#tpl_modal_addit_set').html() ),

    events: {
        'click': 'addToSet',
        'click .active': 'removeFromSet'
    },

    initialize: function(opts) {
        this.post_id = opts.post_id;
    },

    render: function() {
        $(this.el).html( this.template( this.model.toJSON() ) );
        if(this.model.get('already_added'))
            $(this.el).addClass('active');
        return this;
    },

    addToSet: function() {
        $.post('api/add_to_set', {
            post_id: this.post_id,
            set_id: this.model.get('id'),
            user_id: $('#user_id').val()
        });
    },

    removeFromSet: function() {
        $.post('api/remove_from_set', {
            post_id: this.post_id,
            set_id: this.model.get('id')
        });
    }
});

Antworten auf die Frage(2)

Ihre Antwort auf die Frage