While both answers are good enough, I still found them lacking a little bit (as my initial code). After much thinking and trying, something I can afford while learning, I decided to go with this code. I am using the two handlers, but also I'm adding another layer of abstraction, saveFavourites();
that will handle keyboard shortcuts and when the user gets to the element pressing tab and clicks enter when arrived to the upvote/downvote:
// Handle clicking on favourites to add or remove them
$(document).on('click', ".favourite:not(.active)", function(){
saveFavourites('add');
});
$(document).on('click', ".favourite.active", function(){
saveFavourites('remove');
});