Te conviene usar 3 controladores de eventos, uno para div1, uno para div2, y uno para contentArea. El controlador contentArea debe detener la propagación para que no se llame al controlador div2. El manejador div2 debe llamar al manejador div1:
function div1Click (e)
{
// do something
}
function div2Click (e)
{
div1Click.call(div1, e);
}
function contentAreaClick (e)
{
e = e || window.event;
if (e.stopPropagation) e.stopPropagation();
e.cancelBubble = true;
// do something
}
div1.onclick = div1Click;
div2.onclick = div2Click;
contentArea.onclick = contentAreaClick;
gracias, de hecho me hice de manera similar – AlaskaKid