Возврат из функции только после действия пользовтеля
Друзья, прошу помощи. у меня уже мозг свернулся :(
пытаюсь сделать свой конфирм, всякие плагины отметаю за нежеланием их использовать, есть причины. смотрите, вот есть линк: <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 - но никак не могу увязать все воедино - получается барахло какое то кривое. Подскажите пожалуйста, как мне удержать мою функцию от немедленного ретурна и заставить ее ожидать какое то действие пользователя? заранее спасибо |
Цитата:
Если не нравится, используй promise(ограничения по поддержке браузерами), либо подключай либу которая предоставляет кроссбраузерный доступ к такому типу объектов И покажи код. Если использовать тот же setinterval это коненчно, по деревенски, но зато ничего сложного не вижу - чувак жмет кнопку, ты по онклику записываешь в некую переменную true или false, а интервал ждет пока там что то появится, выполняет некую функцию, и все. |
Frozen Coyote,
Ну есть пару вопросов: 1. Во время Высплытия Вашего Окошка юзер может что нибудь делать в этой вкладке браузера, кроме ответа на вопрос ? 2. Кто мешает повесить онклик на кнопки ДА-Нет ? И дальнейший ход действий воткнуть в обработку этих событий. Т.е никаких циклов опроса кнопок и зависов браузера нет. 3. Если действий пользователя не намечается(кроме кликов по кнопкам), типично вместе с окном с кнопками загораживаем окно window полупрозрачным дивом с позицией fixed и размерами 100% Х 100% |
Часовой пояс GMT +3, время: 01:42. |