Search code examples
javascriptjquerybackbone.jsbackbone-views

Backbone.js View


I'm learning Backbone.js now. I'm writing mvc Todo list for study. I have a code like this:

   var TaskView = Backbone.View.extend({
    el: '#tasks',
    model: Todo,
    events: {
        'click > li .delete-task' : 'removeTask',
        'click > li .complete-task' : 'completeTask'
    },
    removeTask : function () {
        console.log(this.get('model'));
    },
    completeTask : function () {

    }
});

So, I can't get .delete-task, when was a click. For example, If i click on .delete-task in third li, I want to get a third li. How I can realize it?


Solution

  • You can use currentTarget to do the trick.

    TaskView = Backbone.View.extend({
        el: '#tasks',
        events: {
            'click .delete-task' : 'removeTask'
        },
        removeTask : function (e) {
            alert($(e.currentTarget).text())
        },
    });
    

    demo