Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.09.2009, 16:41
Новичок на форуме
Отправить личное сообщение для avtor01 Посмотреть профиль Найти все сообщения от avtor01
 
Регистрация: 28.10.2008
Сообщений: 6

Событие onClick
Приветствую, уважаемая публика.

Возникли проблемы с Internet Explorer 7-8 при обработке события onClick, назначенным самим же javascript...
....
<td id="id_parent" onClick="javascript:click_and_light('parent_id');">Каие-то строковые данные</td>
....


Функция javascript:
function click_and_light(id) {
      var obj = document.getElementById(id);
      var last_child = obj.lastChild;

	// Данная конструкция удаляет текстовый элемент textNode (данные из ячейки таблицы) из потока, чтобы вставить его вконце
	var data = last_child.innerHTML;					
	last_child.removeChild(last_child.firstChild);

	// Создадим контейнер для меню
	var div_td = document.createElement('div');
	div_td.className = "parent_menu";
	last_child.appendChild(div_td);
	
	// Создадим меню
	var parent_menu = last_child.getElementsByTagName('div');  // Находим родительский контейнер div
	var div_new = document.createElement('div');
	parent_menu['0'].appendChild(div_new);
	
	var img_add = document.createElement('img');
	img_add.src = "/inc/images/add.gif";
	img_add.setAttribute("onclick", "javascript:alert('test');");
	parent_menu['0'].firstChild.appendChild(img_add);

	var data_node = document.createTextNode(data);
	last_child.appendChild(data_node);
}


В Opera,Firefox и в Google Chrome, все получается так, как я и хотел: ячейка таблицы сохранила св-во onClick, но при этом, если я мышью жмякаяю по моей пикче, то alert отрабатывает.
В ИЕ не работает - отрабатывает только родительский onClick, а на пикчу ИЕ наглым образом "ложет". При этом, если просмотреть исходный код страницы, то нужное мне событие присутствует.

Пробовал убрать с родительской ячейки onClick - результата ноль.

Надеюсь на Вашу помощь
Ответить с цитированием
  #2 (permalink)  
Старый 03.09.2009, 16:49
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 09.07.2008
Сообщений: 3,873

Псевдопротокол javascript: в атрибутах тегов, отвечающих за обработку событий, писать не нужно.

img_add.onclick = function() {
    alert('test');
};


Атрибуты и свойства: модель DOM и отличия в Internet Explorer

Последний раз редактировалось Octane, 03.09.2009 в 16:51.
Ответить с цитированием
  #3 (permalink)  
Старый 03.09.2009, 16:54
Новичок на форуме
Отправить личное сообщение для avtor01 Посмотреть профиль Найти все сообщения от avtor01
 
Регистрация: 28.10.2008
Сообщений: 6

Спасибо, помогло. А в чем разница?
Ответить с цитированием
  #4 (permalink)  
Старый 03.09.2009, 17:01
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 09.07.2008
Сообщений: 3,873

В статье по ссылке рассказывают в чем разница.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание события onclick? kerranswell Events/DOM/Window 31 09.05.2011 20:20
У элемента img внутри form пропадает событие после onsubmit формы Eugene Events/DOM/Window 2 18.06.2009 18:21
какое событие возникает во время формирования html IT-AleX Events/DOM/Window 2 20.02.2009 15:13
Вопрос про вызов события onClick skyfish Общие вопросы Javascript 12 27.12.2008 18:12
Изменить текст под изображением на котором событие onclick GodRa Общие вопросы Javascript 2 12.11.2008 22:15