Попробовал сделать как вы сказали и всё вроде бы круто, но вопрос: если у меня в <button> лежит например <i> (иконка из иконочного шрифта), то при клике если умудриться кликнуть по иконке, в функцию передается иконка. Как то можно ограничить что бы клик проходил по кнопке и в функцию передавалась только кнопка? На скриншоте ниже видно что класс добавился именно к иконке, а не к кнопке.