触发完成后触发事件

时间:2015-05-08 20:02:56

标签: javascript jquery

我已经创建了几个包含众多步骤的事件。例如:

$("#CourseID").change会自动收集有关课程的信息。它还为课程中的每个洞创建一系列复选框。然后默认检查每个框。

我还有一个与按钮点击链接的功能$("#ClearAll").click。这将清除所有复选框。

我现在有第三个事件$("#SetDate").change我需要调用以上两个:

$("#CourseID").trigger('click')
$("#ClearAll").trigger('click')

因为在这种情况发生之后,我需要经过一系列的漏洞并检查每一个漏洞。

我的问题是它在$("#ClearAll").trigger('click')完成之前正在运行$("#CourseID").trigger('click')。因此,复选框未完成。

任何见解都将受到赞赏。我对jQuery很新,所以请详细解释。

2 个答案:

答案 0 :(得分:0)

我发现了这个问题。 $("#CourseID")。change事件有一个ajax调用。使用$(document).ajaxComplete(function () { $("#ClearAll").trigger('click'); } 然后它等待CourseID函数的完成,复选框将被清除。

Jon - 抱歉我没有发布代码,但如果没有1500行代码就没有意义。

答案 1 :(得分:0)

您可以使用承诺或推迟。这些用于这种情况,你需要在另一个函数之前调用一个函数。 deferred.promise是一个很好的起点。