Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.06.2008, 22:42
Новичок на форуме
Отправить личное сообщение для Oleg NT Посмотреть профиль Найти все сообщения от Oleg NT
 
Регистрация: 22.06.2008
Сообщений: 4

Как передать элемент в функцию после createElement
В объекте dropdown есть метод:

this.highlightItem = function(item, mode)
{


И в сторонке есть еще один код:

dropdown.LIs[i] = document.createElement('li');
dropdown.LIs[i].onmouseover = 
function() { dropdown.highlightItem(dropdown.LIs[i], 'over'); };
dropdown.ul.appendChild(dropdown.LIs[i]);


Метод .highlightItem сообщает, что аргумент item не определен.

В чем проблема? В том, что после appendChild созданное с помощью document.createElement('li') становится неопределенным? Тогда как решить проблему?


===

на другом форуме посоветовали сначала сделать AppendChild, потом найти элемент через getElementById и назначить функции обработчику событий.

Сделал:

var _el = document.createElement('li');
_el.id = dropdown.title + '_li_' + i;
dropdown.ul.appendChild(_el);
//позже
document.getElementById(dropdown.title + '_li_' + i).onmouseover = 
function() { dropdown.highlightItem(document.getElementById(dropdown.title + '_li_' + i), 'over'); };


Все равно item is null

Как передать объект <li> в метод highlightItem?
Ответить с цитированием
  #2 (permalink)  
Старый 23.06.2008, 01:41
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

А если так:
dropdown.LIs[i] = document.createElement('li');
dropdown.LIs[i].onmouseover = function() { dropdown.highlightItem(this, 'over'); };
dropdown.ul.appendChild(dropdown.LIs[i]);
Ответить с цитированием
  #3 (permalink)  
Старый 23.06.2008, 01:44
Новичок на форуме
Отправить личное сообщение для Oleg NT Посмотреть профиль Найти все сообщения от Oleg NT
 
Регистрация: 22.06.2008
Сообщений: 4

Спасибо за ответ. Проблема была в другом. Но тем не менее, Ваш совет позволил упростить код спасибо
Ответить с цитированием
  #4 (permalink)  
Старый 23.06.2008, 02:11
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Oleg NT,
Ну я подозревал, что проблема заключается не в этом коде, потому что в смоделированной вашей задаче у меня всё заработало.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как передать значение переменной в IFRAME в поле формы JS-ом из самой страницы? DeUre Общие вопросы Javascript 14 17.12.2013 16:37
Как вызвать событие после события определенного в onchange Наталья Events/DOM/Window 2 12.09.2009 13:51
Как передать массив? remitmaster Общие вопросы Javascript 6 17.09.2008 12:47
Как сделать функцию типа toDataUrl для рисунка в ie6 ? Олег Общие вопросы Javascript 2 14.09.2008 00:06
Как передать фокус флешке на странице? dArky Общие вопросы Javascript 3 10.08.2008 01:03