Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Прерывание до получения значения (https://javascript.ru/forum/jquery/57158-preryvanie-do-polucheniya-znacheniya.html)

KupueIIIKo 22.07.2015 13:25

Прерывание до получения значения
 
Гугл не удачный поиск по слову прерывание он тока и выдает прерывание анимации и break)
Суть такова) Происходит клик) Мы выводим кнопки да или нет)
Если нет то прервать выполнения кода, если да, то продолжить выполнение)

$('a[delete]').on("vclick", function(e){
openpop('Вы точно хотите удалить сообщение?', '<button>Да</button><button>Нет</button>','b');
<!-- Вот тут должно быть прерывание (Ожидание нажатия кнопки)-->
c_f($(this).parent('div'),'d');<---Функция с ajax
});

Суть такова, что прерывание должно быть не глобальное) А то года 2 назад как-то делал не помню как, что у меня юзер не мог даже на другие вкладки перейти.

jasper-blondin 22.07.2015 13:43

Если использовать модальное окно, то проблем быть не должно.
Модальное окно (в отличие от обычного) блокирует все остальное содержимое страницы. Чтобы продолжить работу, пользователю придется закрыть модальное окно (кнопка "Нет"), либо подтвердить действие в модальном окне (кнопка "Да", на которой висит нужный обработчик).

KupueIIIKo 22.07.2015 13:46

хорошая идея, все таки надо для себя узнать как это делаеться)

jasper-blondin 22.07.2015 13:46

Если я правильно понял, у Вас по-умолчанию выполняется некое действие (например, удаление комментария). И Вы хотите, чтобы это действие приостановилось, пока пользователь не нажмет кнопку.

Я же предлагаю поменять саму логику: по-умолчанию ничего не происходит (просто открыто окно с кнопками). А при нажатии на кнопку "Да" запускается необходимый скрипт (например, удаление комментария).

KupueIIIKo 22.07.2015 13:47

Цитата:

Сообщение от jasper-blondin (Сообщение 380858)
Если я правильно понял, у Вас по-умолчанию выполняется некое действие (например, удаление комментария). И Вы хотите, чтобы это действие приостановилось, пока пользователь не нажмет кнопку.

Я же предлагаю поменять саму логику: по-умолчанию ничего не происходит (просто открыто окно с кнопками). А при нажатии на кнопку "Да" запускается необходимый скрипт (например, удаление комментария).

Тоже не плохое решение вот за это +)

jasper-blondin 22.07.2015 13:50

Цитата:

Сообщение от KupueIIIKo (Сообщение 380857)
все таки надо для себя узнать как это делаеться)

Модальное окно можно реализовать при помощи jQuery-плагинов.
Я лично использую Fancybox, который имеет множество настроек, в том числе модальность. Может есть какие новые плагины, не в курсе.

Разместить в таких окнах можно что-угодно. Например, Ваши кнопочки с нужными скриптами, навешанными на них.

KupueIIIKo 22.07.2015 13:52

Цитата:

Сообщение от jasper-blondin (Сообщение 380861)
Модальное окно можно реализовать при помощи jQuery-плагинов.
Я лично использую Fancybox, который имеет множество настроек, в том числе модальность. Может есть какие новые плагины, не в курсе.

Разместить в таких окнах можно что-угодно. Например, Ваши кнопочки с нужными скриптами, навешанными на них.

Ну я все пилю на jquery)
Щас буду менять логику) Вот тока я кнопки создаю кодом)
Убивая div с кнопками у меня очищается память?)

jasper-blondin 22.07.2015 14:02

Цитата:

Сообщение от KupueIIIKo (Сообщение 380862)
Убивая div с кнопками у меня очищается память?)

Память чего?

Можно использовать, например, такой алгоритм:
- создать блок с кнопками заранее
- скрыть блок с кнопками заранее (display:none)
- при клике на определенную кнопку на странице открывать окошко (блок становится видимым и позиционируется по центру страницы, например)
- пользователь нажимает одну из кнопок в открывшемся окне

Перед открытием окна можно заранее передать в него необходимые параметры (например, id комментария, который нужно удалить)ю

KupueIIIKo 22.07.2015 14:03

я про это https://learn.javascript.ru/memory-leaks-jquery
сижу читаю) просто я много чего и создаю) а обработчики остаются)

jasper-blondin 22.07.2015 17:40

Цитата:

Сообщение от KupueIIIKo (Сообщение 380862)
Убивая div с кнопками у меня очищается память?)

Скорее всего нет. Смотря как "убивается" div.

Если создавать блок с кнопками заранее, никакой утечки не будет.


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