-1

这是一个原型函数,我使用noty来显示带有按钮的确认。

function confirmation(message, call_func)
{
    var m=noty(
    {
        text: message,
        modal: true,
        layout : 'center',
        theme: 'notifications',
        buttons: [
        {
            addClass: 'general-button red', text: 'Yes', onClick: function($noty)
            {
                   call_func;
               $noty.close();
            }
        },
        {
            addClass: 'general-button', text: 'No', onClick: function($noty)
            {
                $noty.close();
            }
        }]
    });
    return m;
}

我用语法调用这个函数,

confirmation("Are you sure want to delete this item?", "delete("+id+")");

因此,在单击 Yes 按钮时,delete(id)必须调用另一个函数。但它没有,为什么?

我检查了警报,alert(call_func)我作为delete(10)发出警报,其中 10 是实例的 ID。

4

1 回答 1

2

那么在这里你没有调用函数

call_func;  

你只是在引用它

在这里你只是在构建一个字符串

"delete("+id+")")

它不是对函数调用的引用。


您需要做的是传入一个实际函数并执行该函数。

confirmation("Are you sure want to delete this item?", function(){ delete(id); });

call_func();
于 2014-05-15T12:27:46.980 回答