![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| EgoBrain |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 23.3.2008 Где: Комната Репутация: нет Всего: 2 |
Заранее извините если название темы не отражает суть вопроса.
Задача: перебрать ячейки строки (которую выбрал пользователь) таблицы и передать содержащийся в них текст. Нашел пример, применил у себя, как всегда затык на IE, нет метода document.getElementsByClassName() и addEventListener(), но есть альтернативы: написать свой getElementsByClassName и attachEvent вместо addEventListener. Алгоритм следующий: в первой ячейке таблицы содержится div, к которому и приписывается обработчик, обработчику передается ссылка на этот обеъкт (div), далее в обработчике уже непосредственно перебираются ячейки выбранной строки. Проблема в том, что в IE в обработчик передается не то что нужно, либо я с переданным объектом неправильно работаю.. Код:
Остальные браузеры выдают [object HTMLDivElement] (пробовал в firefox и opera), IE дает [object], ну соответсвенно с этим [object] я не могу сделать нужных мне действий, даже tagName получить. И на всякий случай, так перебираю ячейки строки таблицы:
Как заставить работать в IE? Это сообщение отредактировал(а) EgoBrain - 26.2.2013, 09:49 |
||||||
|
|||||||
| Amphiluke |
|
|||
|
☽ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1253 Регистрация: 26.8.2009 Репутация: 39 Всего: 112 |
Это известная особенность IE: в обработчиках, добавленных методом attachEvent, ключевое слово this указывает не на объект, зарегистрировавший обработчик, а на глобальный объект. Можно обойти проблему при помощи дополнительного замыкания.
|
|||
|
||||
| EgoBrain |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 23.3.2008 Где: Комната Репутация: нет Всего: 2 |
Спасибо, помогло! А почему нельзя передать элемент в обработчик обычным способом?
|
||||||
|
|||||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 17 Всего: 137 |
||||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |