tengo el código HTML siguiente:jQuery evento On Click Div, Excepto Div Niño
<div class="server" id="32">
<a>Server Name</a>
<div class="delete-server">X</div>
</div>
que estoy tratando de hacerlo de modo que cuando los usuarios hacen clic en el div server
que nos lleva a un diálogo de edición. El problema es simplemente hacer:
$(".server").click(function() {
//Show edit dialog
});
no funciona, porque si hacen clic en la X que es borrar, se abre el diálogo de edición. ¿Cómo se puede hacer que todo el div server
tenga el evento click salvo el delete-server
div.
Debe tener en cuenta que su respuesta aceptada usa delegado eve sin una buena razón. puede leer 'on' [docs] (http://api.jquery.com/on/) para saber qué hace. – gdoron
@gdoron - ¿Puede proporcionar una fuente para su reclamo de que la delegación de eventos es más lenta? AFAIK, la delegación del evento hace lo mismo que tú, pero detrás de escena; comprueba si el elemento objetivo coincide con el selector dado. Sin embargo, podría estar equivocado, y me encantaría estar iluminado. –
relacionado http://stackoverflow.com/questions/12690313/jquery-on-click-on-everything-but-a-div-and-its-children/12690357 –