Как правильно обрабатывать события в JavaScript?
Почитайте про всплытие событий и паттерн "behavior".
Суть проста: на родительский блок вешается обработчик всплывающего события, в котором проверяется target/currentTarget и на основании их значений уже выполняются нужные действия. 
https://learn.javascript.ru/behavior
Пример где на событие можно прописать ещё событие, внутри события... Работает как часы.<nav>
<ul>
<li  tabindex="1"><a  id="10000000000"  data-page="page1"> 1  страница</a></li>
<li  tabindex="1"><a  id="1111111111111111"  data-page="page1"> 1 1  страница</a></li>
<li  tabindex="1"><a  id="20000000000"  data-page="page2"> 2  страница</a></li>
<li  tabindex="1"><a  id="30000000000"  data-page="page3"> 3 стрнаница</a></li>
</ul>
</nav>
Где id выводится
'+event.target.id+'