为什么使用回调函数而不是在jQuery中触发事件?

时间:2013-07-23 10:31:00

标签: javascript jquery jquery-plugins jquery-callback

我已经看到callback()概念在jQuery插件中经常使用,我开始认为触发自定义事件可能是更好的选择。

jQuery有一个内置的触发机制('A_CUSTOM_EVENT')所以为什么插件作者不会简单地触发'COMPLETE_EVENT'而不是坚持我们传入一个回调函数来处理这个'完整阶段'。 / p>

尼克

1 个答案:

答案 0 :(得分:5)

这取决于你想要达到的目标 - 这是一种架构选择。

基本上,事件范例是开放的,非私有的和持久的。你有一个公共活动,每个人都可以注册,他们的活动功能基本上按照自己的意愿调用,直到他们从活动中取消注册。对重复发生的事件有意义。

示例:注册到悬停事件。

回调范式是孤立的,私人的和一次性的。有人会调用您的代码并移交私有回调,一旦执行就会被处理掉。在大多数情况下,可用性是有限的(限于单个时间点)和/或不一定是公开的。

示例:处理ajax响应。

这两种范例都有优点和缺点。使用其中一个取决于您以及您希望如何使用您的应用程序。

相关问题