Ogarnij jak działają zdarzenia, ich propagacja i bubbling.
Zdarzenia przypinasz do ELEMENTÓW, a nie do selektora elementu. Jeżeli przypniesz zdarzenie do elementu z klasą A, to on potem może nie mieć klasy w ogóle. albo możesz sobie zmieniać tą klasę na klasę B - a zdarzenie wciąż zostanie aktywne, bo jest przypięte do ELEMENTU.
Trochę inaczej działa delegacja zdarzeń (choć to tak naprawdę też zwykłe zdarzenie, tylko wykorzystuje propagację). Tu przypinasz zdarzenie do elementu nadrzędnego, którego następcy/dzieci także odbierają to zdarzenie. W skrócie: przypinasz zdarzenie np. do <body>
, a w obsłudze zdarzenia sprawdzasz, którego elementu to tak naprawdę dotyczy (a więc możesz zaprogramować zachowanie w zależności od bieżącej klasy).
Nic z tego nie rozumiesz, potrzebujesz przykładów? Tu masz wszystko pięknie opisane: http://www.smashingmagazine.com/2013/11/an-introduction-to-dom-events/