hjuster
hjuster

Reputation: 4070

How to get attributes from the clicked element in backbone event?

Here is my basic backbone view for changing routes. I would like to get the href attribute of the clicked link. How to do that? Here is a code bellow:

var Menu = Backbone.View.extend({   
        el: '.nav', 
        events: {
            'click a' : 'changeRoute'
        },  
        changeRoute: function(e) {
            e.preventDefault();
            //var href = $(this).attr("href");
            router.navigate(href, true);
        }
 });

I am a newbie in backbone, so please have mercy :)

Upvotes: 14

Views: 13105

Answers (1)

Alex Curtis
Alex Curtis

Reputation: 5767

you can use: var element = $(e.currentTarget);

then any attributes can be called like this: element.attr('id')

so in your code above:

changeRoute: function(e) {
   e.preventDefault();
   var href = $(e.currentTarget).attr("href");
   router.navigate(href, true);
}

Upvotes: 33

Related Questions