ho il seguente codice HTML:jQuery evento Click On Div, Salvo Bambino Div
<div class="server" id="32">
<a>Server Name</a>
<div class="delete-server">X</div>
</div>
che sto cercando di fare in modo, quando gli utenti fanno clic sul server
div si porta in primo piano una finestra di modifica. Il problema è semplicemente fare:
$(".server").click(function() {
//Show edit dialog
});
non funziona, perché se si fa clic sulla X che è cancellare, si porta in primo piano la finestra di dialogo di modifica. Come si può fare in modo che l'intero div server
abbia l'evento click eccetto il div delete-server
.
È necessario essere consapevoli del fatto che la risposta accettata utilizza la vigilia del delegato nt per nessuna buona ragione. puoi leggere 'on' [docs] (http://api.jquery.com/on/) per imparare cosa fa. – gdoron
@gdoron - Puoi fornire una fonte per la tua richiesta che la delega degli eventi sia più lenta? AFAIK, la delegazione di eventi fa la stessa cosa che hai fatto, ma dietro le quinte; controlla se l'elemento di destinazione corrisponde al selettore indicato. Potrei avere torto però, e mi piacerebbe essere illuminato. –
correlati http://stackoverflow.com/questions/12690313/jquery-on-click-on-everything-but-a-div-and-its-children/12690357 –