jQuery(function($) { "use strict"; $('.guff-dropdown').on('click', 'a', function() { var data = $(this).data(), ul = $(this).parents('ul'), is_default = (data.id == ul.data('default')); // update ui ul.find('li').removeClass('active'); $(this).parents('li').addClass('active'); ul.prev('a') .toggleClass('btn-default', is_default) .toggleClass('btn-primary', !is_default) .find('span').text(data.name); // hide dropdown $('body').trigger('click'); // trigger choose $(this).trigger({ type: 'guff.choose', item: $(this).data(), }); // stop event return false; }); });