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

hjuster picture hjuster · Apr 2, 2013 · Viewed 13k times · Source

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 :)

Answer

Alex Curtis picture Alex Curtis · Apr 2, 2013

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);
}