La mejor manera de detectar qué elemento se ha hecho clic es analizar objeto de evento (evento Click). He preparado un pequeño ejemplo para este caso. Puedes verlo en el código a continuación.
function amIclicked(e, element)
{
e = e || event;
var target = e.target || e.srcElement;
if(target.id==element.id)
return true;
else
return false;
}
function oneClick(event, element)
{
if(amIclicked(event, element))
{
alert('One is clicked');
}
}
function twoClick(event, element)
{
if(amIclicked(event, element))
{
alert('Two is clicked');
}
}
Este método javascript puede ser llamado antes de ejecutar la secuencia de comandos
Ejemplo
<style>
#one
{
width: 200px;
height: 300px;
background-color: red;
}
#two
{
width: 50px;
height: 70px;
background-color: yellow;
margin-left: 10;
margin-top: 20;
}
</style>
<div id="one" onclick="oneClick(event, this);">
one
<div id="two" onclick="twoClick(event, this);">
two
</div>
</div>
espero que esto ayude.
Supongo que los elementos están anidados. – SLaks
¿Se puede publicar una demostración? Puedes usar http://jsbin.com. – SLaks