Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Приостановка выполнения событий (https://javascript.ru/forum/events/6651-priostanovka-vypolneniya-sobytijj.html)

Vteam 11.12.2009 23:00

Приостановка выполнения событий
 
Всем привет. Люди подскажите как можно побороть след. проблему. Есть линки на них в href висит либо javascript, либо URL. Есть input если в нем меняя значение мы создаем событие для всех anchor которое отображает попап и две кнопки. По одной кнопке мы продолжаем действие линка по другой остаемся на данной странице. Проблема заключается в том, что если в onclick прописано выполнение метода то я не могу его отключить, т.е. оно сработает вместе с отображением попапа.

subzey 12.12.2009 00:26

Эээ... Меня ждо сих пор мучает мысль, что я чего-то не понял.
alert, prompt и confirm останавливают выполнение (потока) скрипта до взаимодействия с юзером. Confirm Вам подойдет.

Vteam 12.12.2009 10:21

К сожалению мне надо иметь свой попап который строится при помощи div.

Gozar 12.12.2009 10:28

либо
return false

либо показывайте код.

subzey 12.12.2009 11:31

Хорошо. Отменяйте событие в любом случае, а потом в случае, если переход разрешен, запускайте новое событие. Много тонкостей и нелогичностей, но в Вашем случае я других способов не вижу.

Vteam 13.12.2009 00:48

Код только в понедельник смогу показать. У меня вроде как получилось отловить и запустить событие, но я могу обработать только то что находится в href. Если запуск кода помещен в onclick то никак. Может есть какая нить возможность чтения названия вызываемых функций из onclick и их последующий запуск? По поводу href, я вначале считываю информацию из href в переменную, затем обнуляю содержимое href(прописываю #) и после вывода попапа либо останавливаю событие при помощи even.preventDefault() или присваиваю элементу его старый href. С onclick такое думаю что не пройдет. Пока с ним не получилось.

subzey 14.12.2009 00:25

А Вы не пробовали фазу capturing?
element.addEventListener('click', func, /**/true/**/)


Часовой пояс GMT +3, время: 13:19.