Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.12.2015, 19:16
Интересующийся
Отправить личное сообщение для Frozen Coyote Посмотреть профиль Найти все сообщения от Frozen Coyote
 
Регистрация: 16.02.2011
Сообщений: 14

Возврат из функции только после действия пользовтеля
Друзья, прошу помощи. у меня уже мозг свернулся

пытаюсь сделать свой конфирм, всякие плагины отметаю за нежеланием их использовать, есть причины. смотрите, вот есть линк:

<a href="javascript:void(0);" onclick="if(doConfirm('Подтверждаете?')){ alert('1'); } else {alert(':(')} ">x</a>


внутри моей функции doConfirm я планирую создавать окошко с кнопочками, ДА - НЕТ, по нажатию на "ДА" - возвращаться должен true, на "НЕТ" - false, соответственно мне необходимо чтобы моя функция doConfirm вверглась в режим ожидания, а не прыгала сразу на ветку else {alert('')} как в этом случае. Ну и конечно, чтобы какой то ужасный while не вывешивал наглухо браузер. Наверно, как то надо через setTimeout/setInterval и даже допускаю что что поможет deffered / promise - но никак не могу увязать все воедино - получается барахло какое то кривое. Подскажите пожалуйста, как мне удержать мою функцию от немедленного ретурна и заставить ее ожидать какое то действие пользователя?

заранее спасибо

Последний раз редактировалось Frozen Coyote, 14.12.2015 в 19:21.
Ответить с цитированием
  #2 (permalink)  
Старый 15.12.2015, 08:17
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

Сообщение от Frozen Coyote
пытаюсь сделать свой конфирм, всякие плагины отметаю за нежеланием их использовать
либо по простому - используй стандартный confirm.
Если не нравится, используй promise(ограничения по поддержке браузерами), либо подключай либу которая предоставляет кроссбраузерный доступ к такому типу объектов
И покажи код. Если использовать тот же setinterval это коненчно, по деревенски, но зато ничего сложного не вижу - чувак жмет кнопку, ты по онклику записываешь в некую переменную true или false, а интервал ждет пока там что то появится, выполняет некую функцию, и все.
Ответить с цитированием
  #3 (permalink)  
Старый 15.12.2015, 09:45
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Frozen Coyote,
Ну есть пару вопросов:
1. Во время Высплытия Вашего Окошка юзер может что нибудь делать в этой вкладке браузера, кроме ответа на вопрос ?
2. Кто мешает повесить онклик на кнопки ДА-Нет ?
И дальнейший ход действий воткнуть в обработку этих событий. Т.е никаких циклов опроса кнопок и зависов браузера нет.
3. Если действий пользователя не намечается(кроме кликов по кнопкам), типично вместе с окном с кнопками загораживаем окно window полупрозрачным дивом с позицией fixed и размерами 100% Х 100%
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ожидание окончания ввода в поле input SiZE Events/DOM/Window 9 20.06.2017 10:20
Ожидание конца события в JS sergey390 Общие вопросы Javascript 4 03.03.2014 12:20
Не понимаю JavaScript. Как сделать ожидание события загрузки данных? xintrea AJAX и COMET 7 01.06.2013 17:18
Ожидание iframe belkir Элементы интерфейса 7 22.02.2012 16:33
.load() - ожидание загрузки KupueIIIKo jQuery 2 06.10.2011 11:46