嘿编码器,我想初始化一个带有回调函数的对话框,比如说“保存”按钮,但我希望回调作为独立函数驻留,而不是使用function(){....}定义内联。下面的代码片段突出显示了我想要做的事情。
$( "#dialog-form" ).dialog({
autoOpen: false,
height: 300,
width: 350,
modal: true,
buttons: {
"Save": saveAction()
...
function saveAction()
{
}
“保存”的正确语法是什么:saveAction()行因为它似乎不起作用?
感谢
答案 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"}) }
这有效地定义了一个不带参数的新匿名函数,并且在执行时将使用您想要的参数调用您自己的函数。