2014-10-11 9 views
5

Ho aggiunto un listener di eventi transitionend a div. Questo div ha figli che hanno transizione su alcuni elementi. Voglio che l'evento transitionend si attivi solo per l'elemento per cui l'ho aggiunto, è un bug? o comportamento previsto? Come farlo sparare solo se è quello a cui ho aggiunto l'ascoltatore?TransitionEnd ascoltatore che attiva elementi figlio

risposta

9

Gli eventi sono spumeggianti per impostazione predefinita, che significa che verranno "trasmessi" all'elemento padre finché non colpiscono il corpo o un gestore che li interrompe.

È possibile:

  • Filtro per la event's target essere sicuro che sia l'elemento che stai targeting.
  • Ascoltare l'evento sui bambini e event.stopPropagation() su di loro. In questo modo, non faranno più bolle attraverso il genitore.

Se ci mostrassi del codice, sarebbe più semplice aiutarti, a seconda dell'implementazione corrente.

+0

Grazie per queste opzioni è stato bello! Sono andato con event.stopProp – Noitidart

5

Questo processo è chiamato come Event Bubbling. La cosa che si può fare è rilevare il bubbling usando il gestore di eventi o impedire il gorgoglio interrompendo la propagazione. È possibile farlo da

event.stopPropagation() 

In IE beofore 9.

Si può fare come

window.event.cancelBubble = true; 

Si prega di avere uno sguardo dettagliato here

+0

Piacere ....;) –

+1

Per favore non importa, ma ho accettato gli altri ragazzi rispondono come ha postato prima. Ma le informazioni e le spiegazioni su IE9 sono molto apprezzate. – Noitidart

+2

okay, l'uomo non ha importanza nell'accettare la risposta ... la questione è che se ti ha aiutato o no e sono contento che ti abbia aiutato .. :) Salute ... Codifica della terapia –

Problemi correlati