Показать сообщение отдельно
  #5 (permalink)  
Старый 31.01.2012, 19:31
Аватар для Раед
''
Отправить личное сообщение для Раед Посмотреть профиль Найти все сообщения от Раед
 
Регистрация: 11.12.2011
Сообщений: 636

подведём итоги
document.body.onclick = function(e) {
var elem = e ? e.target : window.event.srcElement;
while(!(elem.id || (elem == document.body))) elem = elem.parentNode;
if (!elem.id) return; else id = elem.id;
/* если вдруг у элемента по которому кликнули нет id,
скрипт будет подниматься вверх по цепочке DOM узлов до близжайшего элемента с id или до тега body 
если элемент с id не будет найден, фи-я вырубится*/ 
//здесь работаете с id элемента
}

на мой взгляд это самый безопасный вариант
если с HTML'ом, то вот:
<html>
<body id="bodytag">
это текст прям в body'е
<div id="d1">текст дива 1</div>
<div id="d2">это текст дива 2 <span id="sp1">а в диве спан</span></div>
<div>а этот без id</div>
<script type="text/javascript">
document.body.onclick = function(e) {
var elem = e ? e.target : window.event.srcElement;
while(!(elem.id || (elem == document.body))) elem = elem.parentNode;
if (!elem.id) return; else id = elem.id;
/* если вдруг у элемента по которому кликнули нет id,
скрипт будет подниматься вверх по цепочке DOM узлов до близжайшего элемента с id или до тега body 
если элемент с id не будет найден, фи-я вырубится*/ 
//здесь работаете с id элемента
alert(id);//например
}
</script>
</body>
</html>

Последний раз редактировалось Раед, 31.01.2012 в 20:12.
Ответить с цитированием