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

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

на мой взгляд это самый безопасный вариант
если с HTML'ом, то вот:
01 <html>
02 <body id="bodytag">
03 это текст прям в body'е
04 <div id="d1">текст дива 1</div>
05 <div id="d2">это текст дива 2 <span id="sp1">а в диве спан</span></div>
06 <div>а этот без id</div>
07 <script type="text/javascript">
08 document.body.onclick = function(e) {
09 var elem = e ? e.target : window.event.srcElement;
10 while(!(elem.id || (elem == document.body))) elem = elem.parentNode;
11 if (!elem.id) return; else id = elem.id;
12 /* если вдруг у элемента по которому кликнули нет id,
13 скрипт будет подниматься вверх по цепочке DOM узлов до близжайшего элемента с id или до тега body
14 если элемент с id не будет найден, фи-я вырубится*/
15 //здесь работаете с id элемента
16 alert(id);//например
17 }
18 </script>
19 </body>
20 </html>
Ответить с цитированием