Событие 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 - результата ноль. Надеюсь на Вашу помощь |
Псевдопротокол javascript: в атрибутах тегов, отвечающих за обработку событий, писать не нужно.
img_add.onclick = function() { alert('test'); }; Атрибуты и свойства: модель DOM и отличия в Internet Explorer |
Спасибо, помогло. А в чем разница?
|
В статье по ссылке рассказывают в чем разница.
|
Часовой пояс GMT +3, время: 11:03. |