Я не знаю, как это сделать в чистом js, но я знаю, что это можно сделать в jQuery с помощью .closest ()
Даже если вы не хотите использовать jQuery, вы можете выполнить поискза то, как это работает.Удачи!
Редактировать:
Я только что проверил код здесь, в Opera ... Не знаю, если это ошибка, сложно ... Ноиспользование 'click' вместо 'focus' заставит его правильно получить идентификатор внутреннего div
Взгляните:
<script type="text/javascript">
window.onload = function(){
document.getElementById('top').addEventListener('click',function(e){
alert(e.srcElement.id); //this alert d1 to d3
},true);
document.getElementById('top').addEventListener('focus',function(e){
alert(e.srcElement.id); //this alert top
},true);
}
</script>
<div id="top" contenteditable="true">
<div id="d1">Edit</div>
<div id="d2">Edit</div>
<div id="d3">Edit</div>
</div>