powiedzmy mam elementu nadrzędnego, który ma tak wiele zagnieżdżonych elementów podrzędnych wewnątrz od siebie:jQuery kliknij zdarzenie na rodzica, ale znalezienie dziecka (kliknięciu) elementem
<div id="p">
<div id="c1">
<div id="c2"></div>
<div id="c3"></div>
</div id="c4">
<div id="c5"></div>
</div>
</div>
Już powiązać zdarzenie click
na nadrzędny:
$('#p').bind('click', function() {
alert($(this).attr('id'));
});
Ponieważ zdarzenie jest przypisane do elementu nadrzędnego, zawsze widzę id rodzica, jednak zastanawiam się, czy istnieje jakikolwiek możliwy sposób, aby dowiedzieć się, który z tych elementów dziecko zostało kliknięte?
Nie mogę również przypisać żadnego zdarzenia do elementów podrzędnych lub usunąć detektora zdarzeń z elementu nadrzędnego div.
dzięki, człowiek, to działa! :) ... powinienem poczekać, aby zaakceptować twoją odpowiedź! – Mahdi
Serdecznie witamy @Mahdi. – Adil
Dla rekordu '$ (event.target) .attr ('id')' jest znacznie wolniejszą wersją 'event.target.id' - patrz http://bit.ly/jqsource i wyszukaj' Sizzle. attr = function'. jQuery (lub raczej Sizzle) musi przejść przez cały ten kod, aby uzyskać twój identyfikator, gdzie właśnie za pomocą DOM dostaje go bezpośrednio. – Remy