Сообщение от Riim
|
var elem = e.target || e.srcElement;
while (elem.nodeName.toLowerCase() != 'li' && (elem = elem.parentNode));
if (elem.id) {/*.....*/}
|
---- ---- ---- ----
Спасибо большое.
Вот что мне нужно было:
nodeName и
parentNode.
Я с Вашего позволения для себя откорректировал предложенный Вами код.
Ваш код отлично работает и выполняет то что нужно.
Просто если есть возможность хоть немного разгрузить скрипт, я всегда стараюсь это делать
Извиняюсь
В моем случае родителем тега
<a> всегда будет тег
<li>, это если брать именно эту связку.
Таким оборазом получается, что
всегда будет:
...
<li> <a> ... </a> </li>
...
Выходит для моего случая немного проще (избавился от цикла):
...
<script language='javascript'>
var my_global_hook = function(e)
{
if ( (e.srcElement.nodeName.toLowerCase() == 'a') && (e.srcElement.parentNode.nodeName.toLowerCase() == 'li') )
{ var object_id = e.srcElement.parentNode.id; }
alert(object_id);
}
document.addEventListener('mouseover', my_global_hook, false);
</script>
...
---- ---- ---- ----
Поставил плюсик Вам