-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+")");

したがって、[はい] ボタンをクリックすると、別の関数delete(id)を呼び出す必要があります。しかし、そうではありません。なぜですか?

アラートで確認しましalert(call_func)た。10 がインスタンスの ID であるdelete(10)としてアラートを出します。

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 に答える