jquery: click el mouse si está dentro de un div o no

tengo esta página HTML

<html> <body> <div>a</div> <div>b</div> <div>c</div> <div>d</div> <div id='in_or_out'>e</div> <div>f</div> </body> </html> 

a, b, c, d, e y f podrían ser también divs, no solo un text simple.

Quiero get el evento de clic del mouse, pero ¿cómo podría saber si está dentro o fuera de #in_or_out div?

EDIT :: chicos, sé cómo comprobar si el div está haciendo clic o no, pero quiero que mi evento se dispare cuando el clic está fuera de ese div

 $("body > div").click(function() { if ($(this).attr("id") == "in_or_out") { // inside } else { // not inside } }); 

EDITAR: acaba de aprender, que hay una negación:

 $("body > div:not(#in_or_out)").click(function(e) { // not inside }); 

Si desea detectar si ha hecho clic dentro o fuera del div, configure el controller de events en documentElement y permita que se propague desde los otros elementos hacia arriba:

 $("html").click(function (e) { if (e.target == document.getElementById("in_or_out")) alert("In"); else alert("Out!"); }); 

Tal vez este te ayude

 $('body').click(function(){ //do smth }); $('div#in_or_out').click(function(e){ e.stopPropagation(); // do smth else }); 

Depende de lo que quieras. Si solo quiere ejecutar código, cuando estaba dentro de #in_or_out , puede hacer:

 $('#in_or_out').click(function(){ /* your code here */ }); 

Puede tener una variable de estado que #in_or_out si el mouse está en #in_or_out o no:

 var inside = false; $('#in_or_out').hover(function() { inside = true; }, function() { inside = false; }); 

Luego, cada vez que se produce un clic, puede verificar con el inside si el clic estaba dentro in_or_out o no.

Referencia: .hover()

Actualizar:

Independientemente del elemento al que se vincule el manejador de click , siempre puede hacer esto:

 $('element').click(function() { if ($(this).attr('id') !== 'in_or_not') { } }); 

por dentro sería

 $("#in_or_out").click(function() { // do something here }); 

para afuera … No tengo idea.

Editar: podría intentar hacer lo mismo con la label de cuerpo (asignando un manejador de clics al propio documento). Pero no estoy seguro si ambos events dispararían por eso.

¿Me gusta esto?

 $("#in_or_out").click(function() { alert("IN DIV!"); });