如何为jQuery的trigger()函数创建回调函数?

如何为jQuery的trigger()函数创建回调函数?

问题描述:

我使用trigger()强制表单提交,并且我需要在表单提交完成后执行一个函数。我认为唯一的方法是使用回调函数,但似乎trigger不允许回调函数。我怎样才能达到相同的结果?我想要的东西将相当于以下内容:如何为jQuery的trigger()函数创建回调函数?

$('#fileUploadButton').trigger('click',function(){ 
    // my callback function code goes here. 
}); 
+2

随着事件是同步的,这一点儿也不是有意义的做到这一点。只需在第一行之后添加下一行,它将在单线程中执行。如果您提交表单,则页面会重新加载,并且没有回调。 – adeneo 2013-05-05 21:18:10

+0

的确如此,但表单正在被提交到一个''iframe''中,所以我需要知道它何时通过提交。 – 2013-05-05 21:22:32

+0

然后,您可能需要一个自定义事件,当表单提交后,它会向父窗口发送回调,并且突然变得非常复杂。 – adeneo 2013-05-05 21:26:01

您可以将表单提交为AJAX请求。如果请求成功,你可以做任何事情。另一种选择是使用postMessage在两个帧之间进行通信。

例如,对于一个AJAX请求:

$(":submit").click(function(event) { 
    event.preventDefault(); 
    $.ajax({ 
     type : "POST", 
     url : $(this).parents("form:first").attr("action"), 
     data : $(this).parents("form:first").serialize(), 
    }) 
    .done(function(data) { 
     // submit is done: do anything 
    }) 
});