Как я могу вернуть true или false, используя плагин нотный jQuery? - PullRequest
3 голосов
/ 11 марта 2012

У меня есть следующий jQuery, использующий плагин noty и корзину слива jQuery. Первый блок кода правильно предупреждает «да / нет» и правильно очищает корзину.

Второй блок кода показывает сообщение да / нет правильно, используя ноти, НО он не возвращает истину / ложь, поэтому корзина пуста

Я действительно новичок в jQuery, поэтому я, вероятно, упускаю что-то очевидное! Любая помощь будет оценена:

//This works..
emptycart: function () {
    if (!confirm('Are you sure you want to empty your cart?')) {
        return false;
    }
},

//This doesnt work..

emptycart: function () {
    confirm.call(this, noty({
        text: 'Are you sure you want to empty the cart ?',
        buttons: [
            {type: 'button green', text: 'Ok', click: function() { return false; } },
            {type: 'button pink', text: 'Cancel', click: function() { return true; } }
        ],
        closable: false,
        timeout: false
        }),
        true
    );
    return false;
}, 

1 Ответ

1 голос
/ 08 ноября 2014

Ну, плагин получает обратные вызовы, поэтому, когда вы используете обратные вызовы, вы должны думать асинхронно.

/**
 * @param {function} onConfirm : Receives true or false as argument, depending on the user choice
 */
emptycart: function (onConfirm) {
    confirm.call(this, noty({
        text: 'Are you sure you want to empty the cart ?',
        buttons: [
            {
                type: 'button green',
                text: 'Ok',
                click: function() {
                    //Do other stuff if you want...
                    onConfirm(true); 
                }
            },
            {
                type: 'button pink',
                text: 'Cancel',
                click: function() {
                    //Do other stuff if you want...
                    onConfirm(false);
                } 
            }
        ],
        closable: false,
        timeout: false
    }), true);
}

Выше вы отправите функцию обратного вызова "onConfirm", которая будет вызываться, когда пользователь нажимает на любую из кнопок. Функция получит один логический аргумент, сообщающий, был ли нажатие кнопки «ОК» или «Отмена».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...