Javascript: передача евента в функцию с параметром, или альтернативный способ блокировки bubbling
|
Здравствуйте, гость ( Вход | Регистрация )
Платные темы только через пользователя РЕКЛАМА НА ФОРУМЕ
forum@academ.info
|
Javascript: передача евента в функцию с параметром, или альтернативный способ блокировки bubbling
|
Отправлено: 06.03.2009, 12:24
|
|
Активист Группа: Опытный Сообщений: 348 Регистрация: 02.07.2003 Из: диван Пользователь №: 613 |
Суть проблемы:
есть такого плана код: CODE function foo1(par1) { ... } function foo2(par2) { ... } <div id = "box10" onClick="foo1(10)"> abcdef <div id="element10" onClick="foo2(10)"> 12345 </div> </div> При нажатии на abcdef, вызывается обработчик foo1 с параметром 10, при нажатии на 12345 вызывается сначала foo2 с параметром 10, потом foo1 с тем же параметром. Надо прекратить распространение евента. Казалось бы, легко и просто сделать в нужном месте, например, event.stopPropagation(), но в данном случае как получить event в этих функциях я не знаю. в принципе я представляю, что, наверное, можно убрать параметр 10, а потом внутри брать this, как-то доставать оттуда div id и оттуда брать число 10, а в освободившийся список входных параметров как раз будет автоматически отправляться event, но хочется как-то попроще. -------------------- Лучше гореть в аду, чем мокнуть в раю
|
|
|
Отправлено: 06.03.2009, 13:38
|
|
Опытный Группа: Участник Сообщений: 728 Регистрация: 02.07.2005 Пользователь №: 11680 |
Объявите функцию следующим образом
Код function foo2(par2, e) { ... } И вызовите её так Код foo2(10, event) Таким образом внутри foo2 в переменной e будет нужное вам событие |
|
|
Отправлено: 06.03.2009, 14:46
|
|
Активист Группа: Опытный Сообщений: 348 Регистрация: 02.07.2003 Из: диван Пользователь №: 613 |
спасибо преогромное, всё работает.
-------------------- Лучше гореть в аду, чем мокнуть в раю
|
|
|
Текстовая версия |