设置jQuery对话框按钮回调

时间:2011-01-29 18:07:12

标签: javascript jquery-ui callback

嘿编码器,我想初始化一个带有回调函数的对话框,比如说“保存”按钮,但我希​​望回调作为独立函数驻留,而不是使用function(){....}定义内联。下面的代码片段突出显示了我想要做的事情。

$( "#dialog-form" ).dialog({
        autoOpen: false,
        height: 300,
        width: 350,
        modal: true,
        buttons: {
            "Save": saveAction() 
...
function saveAction()  
{  
}  

“保存”的正确语法是什么:saveAction()行因为它似乎不起作用?

感谢

3 个答案:

答案 0 :(得分:4)

saveAction后的parens使函数执行。请改用:

        "Save": saveAction

答案 1 :(得分:0)

saveAction必须在签名中定义参数:即saveAction(a,b,c),然后在设置回调时执行以下操作:

"Save": saveAction({a = "val", b = "val", c = "val"})

答案 2 :(得分:0)

如果必须传入参数,则必须将函数调用包装在匿名函数定义中,如下所示:

"Save": function() { saveAction({a = "val", b = "val", c = "val"}) }

这有效地定义了一个不带参数的新匿名函数,并且在执行时将使用您想要的参数调用您自己的函数。