![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
V0fka |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 5.11.2006 Где: Украина Репутация: нет Всего: нет |
Привет!
Есть элемент
Где-то программно ему назначается обработчик события onclick. В html коде элемент выглядит как показано выше, т.е. не видно какая функция вызывается. Подскажите, пожалуйста, как отследить какая функция срабатывает и в каком месте она вешается на onclick. ![]() |
|||
|
||||
CruorVult |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 868 Регистрация: 24.9.2008 Где: г.Киев, Украина Репутация: 3 Всего: 28 |
В спецификации W3C написано что можно добавить listener в "список events list", но что собой представляет этот список и как к нему достучаться - скрыто.
Тем не менее в хроме в инспекторе есть метод getEventListeners(element), где можно посмотреть, какой обработчик повешен на элемент. |
|||
|
||||
V0fka |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 5.11.2006 Где: Украина Репутация: нет Всего: нет |
CruorVult, спасибо!
|
|||
|
||||
V0fka |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 5.11.2006 Где: Украина Репутация: нет Всего: нет |
Возникла сложность. Хочу сделать как сделно тут: http://www.nl.ua/ru/stroimaterialy. Там в строке над товарами есть флажок Акции. Как узнать какая js функция вызывается при событии change этого флажка?
|
|||
|
||||
Arantir |
|
|||
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 5 Всего: 55 |
В Chrome это Ctrl+J и вкладка Elements -> Event Listeners.
-------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
V0fka |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 5.11.2006 Где: Украина Репутация: нет Всего: нет |
Arantir, спасибо! Но событие флажка всеравно поймать не могу.
|
|||
|
||||
Arantir |
|
|||
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 5 Всего: 55 |
Судя по всему, там ивент не напрямую на елемент повешен. Используемый там фреймворк ловит ивенты самого окна (любой клик и т.п. по умолчанию так же вызывается для всех родителей вплоть до document), а уже потом вызывает ивент для соответствующего елемента.
Получается, что строчки кода, предназначенные для клика по флажку, вовсе не в ивенте и вызываются косвенно впоследствии вызова внутренних функций js-фреймворка. Мда, это один из тех подходов, которые улучшают удобство разработки, но ухудшают удобство тестирования (как ООП, например)... Придется копать исходники и искать концы, где на этот элемент что-то повешено. По его id, например. -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
V0fka |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 5.11.2006 Где: Украина Репутация: нет Всего: нет |
Arantir, как печально :( .
CruorVult, Arantir, ещё раз спасибо за ответы! |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |