添加参数到函数而不在javascript上调用它

时间:2014-09-04 07:16:50

标签: javascript jquery

我的问题对你来说可能很简单,但我花了更多的时间来寻找解决方案。好吧,我的问题:我在我的网络应用程序中使用jquery.ui对话框。我做了一个对话框,它必须在关闭对话框之前按名称before_close调用一个函数。我的对话框看起来像这样:

jQuery('#edit_user_form').dialog({
   'autoOpen':false,
   'title':'Изменить',
   'modal':true,
   'position':['center',60],
   'width':600,
   'resizable':false,
   'close':before_close
});

它是 before_close 功能:

function before_close (text) {
    $('#edit_user_form .update-dialog-content').html(text);
}

如您所见, before_close 有一个参数。我可以在创建对话框时绑定参数

jQuery('#edit_user_form').dialog({
   'autoOpen':false,
   'title':'Изменить',
   'modal':true,
   'position':['center',60],
   'width':600,
   'resizable':false,
   'close': before_close(anytext) // or before_close.apply(anytext) 
   /* above code called before_close when the dialog was created */
});

如何在结束对话框中添加调用before_close的参数?提前谢谢!

2 个答案:

答案 0 :(得分:3)

创建anonymous function&从中呼叫before_close(anytext)

jQuery('#edit_user_form').dialog({
       'autoOpen':false,
       'title':'Изменить',
       'modal':true,
       'position':['center',60],
       'width':600,
       'resizable':false,
       'close': function(){before_close(anytext);} // or before_close.apply(anytext) 
       /* above code called before_close when the dialog was created */
    });

答案 1 :(得分:3)

close参数需要一个函数定义,并为它提供一个函数调用。您可以通过将其包装在匿名函数中来解决此问题:

'close': function() {
    before_close(anytext);
}