jquery事件优先级

我有两个函数挂在表单的submit事件上。 每个function都在不同的地方,一个function可以影响另一个function。

如何强制其中一个函数与最低优先级挂钩(即最后执行)?

我能想到四种方式:

  1. 自己管理回调,并且只有一个事件处理程序以所需的顺序调用函数。

  2. 在应该最后触发的函数中,在零毫秒超时中执行实际工作。 如果所有其他函数同步工作(并且您可以使用在事件冒泡期间未发生的最终函数),那么这将实现相同的目的。

  3. 在DOM树中将更高级别的to-be-fired-last处理程序绑定。 你必须测试它是否适用于submit事件; 这些事件的冒泡在IE中不起作用,但是jQuery文档提到这已经在jQuery中进行了规范化。 可能值得一试。

  4. 有点类似于1.,当绑定任何其他处理程序而不是低优先级处理程序时,取消绑定后者,绑定新的处理程序,最后重新绑定最后一个要运行的处理程序。

您可以为处理程序使用自定义事件,并让第一个处理程序捕获提交以阻止它,执行其操作,为第二个处理程序触发事件并让第二个处理程序执行提交

如果你想使用/可以使用自定义事件,你可以使用https://github.com/fusion-events/fusion-framework