Ho realizzato che la ridondanza di event.target potrebbe causare molti problemi in futuro quando sono legati a un altro evento nel livello successivo.
Ad esempio, quando ho un elemento Div all’interno di un altro.
Io uso il seguente codice Jquery per associare un evento.
$('div').bind('click', function(event){ alert(event.target.id) }
Ci sono due caselle di avviso invece di una. Capisco il concetto di perché è perché ci sono 2 div che sto cliccando.
Ovviamente il problema a un livello più profondo è che quando sto cercando di associare un evento dopo questo evento di conseguenza con event.target, esso lega x2 così avanti e così via.
È ansible sbarazzarsi dell’evento vincolante sul div esterno e catturare solo l’interno.
Grazie in anticipo.
È ansible impedire l’evento di event.stopPropgation()
utilizzando event.stopPropgation()
questo modo:
$('div').bind('click', function(event){ alert(event.target.id); event.stopPropagation(); });
Puoi fare un tentativo qui . Questo “intrappolerà” il click
sul primo
che lo ottiene e non lo lascerà propagare a nessun genitore.
Penso che tu debba solo selezionare il div interno nella tua bind call:
$('div:eq(0)').bind('click', function(event){ alert(event.target.id) }