Javascript plug in Noty дает ошибку

у меня есть следующий код JavaScript:

function delete_draft(id, name) {
    var text = 'Are you sure you want to delete "' + name + '"?';
    alert(id + name)
    var noty = noty({
        text: text,
        buttons: [
        {addClass: 'btn btn-primary', text: 'Yes', onClick: function($noty) {

            // this = button element
            // $noty = $noty element

            $noty.close();
            $.post('/ajax/drafts/delete', {id:id}, function(data) {
                document.location.reload(true);
            });
        }
        },
        {addClass: 'btn btn-danger', text: 'Cancel', onClick: function($noty) {
            $noty.close();
        }
        }
    ]});
}

когда я убегаю от консула delete_draft(6, "this is it") Я получаю эту ошибку

TypeError: undefined is not a function
arguments: Array[1]
get message: function () { [native code] }
get stack: function () { [native code] }
set message: function () { [native code] }
set stack: function () { [native code] }
type: "called_non_callable"
__proto__: Error

как я могу это исправить? Веб-сайт для Noty являетсяhttp://needim.github.com/noty/ Если вы считаете, что это должно сработать, прокомментируйте.

2 ответов


Я только что столкнулся с этой проблемой. Оказывается, потому что переменная name noty совпадает с именем экспортируемой функции noty.

var n = noty({text: 'testing 123'});

просто изменение имени переменной исправляет это для меня.


В дополнение к переименованию переменных убедитесь, что вы включили файл макета js. Значение по умолчанию-top, поэтому, если оно не указано в параметрах, вам нужно включить noty/layouts/top.js. Если вы укажете любые другие макеты, включите соответствующие файлы JS макета.