2013-05-27 15 views
21

posso ascoltare tutti gli eventi mrow clic di un div, utilizzando sometihng comeAscolta tutti gli eventi onClick di tutti i bambini in jQuery

$('#mydiv').on('click', 'mrow', function() { 
    var moo = $(this).attr('id'); 
    if (handlers[id]) { 
     event.stopPropagation(); 
     handlers[id](); 
} 

Posso usare una configurazione simile per l'ascolto su tutti click eventi tutti i i figli del div (Senza impostare, ascoltatori separati per ogni tipo)? Alcune parti dell'albero hanno funzioni di gestione e altre no, e voglio che queste richieste si propaghino all'interno del div, finché non viene trovato quello che ha un gestore.

+0

"tutti i bambini" Discendenti diretti o tutti discendenti? –

risposta

34
$('#mydiv').on('click', '*', function() { 

* si legherà tutti gli elementi di entro #mydiv

Demo -->http://jsfiddle.net/Vjwqz/1/

+0

Se provo questo, http://jsfiddle.net/Vjwqz/, sembra che non accada nulla:/ –

+0

ya, perché non c'è #mydiv all'interno di #mydiv. Vedi la mia risposta;) –

+0

Vedo, grazie ragazzi! –

1

Penso che si può lasciare il selettore

$('#mydiv').on('click', function() { 

selettore Tipo: String Una stringa di selezione per filtrare i discendenti di gli elementi selezionati che attivano l'evento. Se il selettore è nullo o omesso, l'evento viene sempre attivato quando raggiunge l'elemento selezionato.

http://api.jquery.com/on/

+1

Ho provato questo inizialmente ma poi $ (this) .attr ('id) è sempre #mydiv e event.target.id è' 'quando Per esempio, clicco su un nubmer, ad esempio - Non posso propogare fino a trovare un gestore valido. –

-1

riferiscono questa http://api.jquery.com/all-selector/

prova:

$('#mydiv').on('click', '#mydiv *', function() { 
var moo = $(this).attr('id'); 
    if (handlers[id]) { 
     event.stopPropagation(); 
     handlers[id](); 
} 
9

Per tutti i discendenti:

$('#mydiv').on('click', '*', function() {...}); 

Per discendenti diretti: {quello che viene chiamato i bambini in Javas cript}

$('#mydiv').on('click', '> *', function() {...}); 
Problemi correlati