Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.02.2017, 11:44
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

Custom confirm window
Доброго времени суток, форумчане, подскажите пожалуйста, пытаюсь сделать кастомное конфирм окно, которое должно вернуть true/false значение, почему то не работает:

ConfirmKendoWindow: function (title, message) {
       
        var kendoWindow = $("<div />").kendoWindow({
            title: title,
            width: "200px",
            actions: ["Close"],
            visible: false,
            resizable: false,
            modal: true
        });
       
        kendoWindow.data("kendoWindow").content(message);
        kendoWindow.data("kendoWindow").element.append($('<a id="ConfirmKendoWindowButtonYes" class="k-button ConfirmKendoWindowButtonYes">Да</a></br>'));
        kendoWindow.data("kendoWindow").element.append($('<a id="ConfirmKendoWindowButtonNo" class="k-button ConfirmKendoWindowButtonNo">Нет</a>'));
        kendoWindow.data("kendoWindow").center().open();
        
        kendoWindow.find(".ConfirmKendoWindowButtonYes, .ConfirmKendoWindowButtonNo")
                .click(function () {
                    if ($(this).hasClass("ConfirmKendoWindowButtonYes")) {
                        return true;
                    }
                    else
                        return false;
                    kendoWindow.data("kendoWindow").close();
                })
                .end();
        //return res;
    }


вызываю так:
var a = ProductTools.ConfirmKendoWindow("", "Вы уверены?");
      alert(a);

Сначала появляется alert со значением undefined и только после kendo window, что не так?
Ответить с цитированием
  #2 (permalink)  
Старый 17.02.2017, 12:49
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

Получается, alert выполняется асинхронно и не ждёт выполнения основной функции?
Ответить с цитированием
  #3 (permalink)  
Старый 17.02.2017, 12:50
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

Здесь есть кто живой?
Ответить с цитированием
  #4 (permalink)  
Старый 17.02.2017, 12:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Сообщение от AlexTrader
Сначала появляется alert со значением undefined и только после kendo window, что не так?
всё верно - строка 27 ничего не возвращает поэтому undefined -- а модалка выйдет позднее так как использует анимацию - которая сработает после скрипта
Ответить с цитированием
  #5 (permalink)  
Старый 17.02.2017, 13:06
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

Сообщение от рони Посмотреть сообщение
всё верно - строка 27 ничего не возвращает поэтому undefined -- а модалка выйдет позднее так как использует анимацию - которая сработает после скрипта
Как исправить это?
Ответить с цитированием
  #6 (permalink)  
Старый 17.02.2017, 13:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

AlexTrader,
может это чем поможет http://stackoverflow.com/questions/6...-in-javascript
Ответить с цитированием
  #7 (permalink)  
Старый 17.02.2017, 15:57
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

AlexTrader,
Не вполне понял, что нужно, может это -
у kendoWindow есть close:, где можно указать действие при закрытии окна
Ответить с цитированием
  #8 (permalink)  
Старый 17.02.2017, 17:17
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

Сообщение от Dilettante_Pro Посмотреть сообщение
AlexTrader,
Не вполне понял, что нужно, может это -
у kendoWindow есть close:, где можно указать действие при закрытии окна
Нужно сделать кастомное кендо окно, с которым можно работать как с Confirm, т.е. оно должно возвращать true или false по нажатию на кнопки Да или Нет
Ответить с цитированием
  #9 (permalink)  
Старый 17.02.2017, 17:18
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

Или считаете это невозможно сделать?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перехватить confirm zawm Events/DOM/Window 10 14.09.2016 13:05
Custom Backgrounds Reaplay Общие вопросы Javascript 8 30.04.2015 22:14
confirm свое оформление ninzzo Общие вопросы Javascript 5 06.01.2015 14:41
confirm, остановка setInterval псевдочеловек Общие вопросы Javascript 5 03.07.2011 14:15
Как получить список пользовательских функций объекта window? Маэстро Events/DOM/Window 13 03.07.2010 13:20