Подскажите, пожалуйста, насколько хорош или плох такой подход, принято ли так вообще делать.
На "document.body" вешаем обработчик кликов, который при всплытии клика делает так:
1. Вычисляет элемент, который кликнули.
2. У этого элемента считывает значение атрибута, например, "data-run" (значение атрибута = имя функции, которую надо вызвать).
3. Вызывает функцию-обработчик, если она существует.
HTML код элементов, которые по клику что-то делают, выглядит, например, так:
<div data-run="click">...</div>
...
<div data-run="popup">...</div>
...
<div data-run="dropdown">...</div>