我已经看到callback()概念在jQuery插件中经常使用,我开始认为触发自定义事件可能是更好的选择。
jQuery有一个内置的触发机制('A_CUSTOM_EVENT')所以为什么插件作者不会简单地触发'COMPLETE_EVENT'而不是坚持我们传入一个回调函数来处理这个'完整阶段'。 / p>
尼克
答案 0 :(得分:5)
这取决于你想要达到的目标 - 这是一种架构选择。
基本上,事件范例是开放的,非私有的和持久的。你有一个公共活动,每个人都可以注册,他们的活动功能基本上按照自己的意愿调用,直到他们从活动中取消注册。对重复发生的事件有意义。
示例:注册到悬停事件。
回调范式是孤立的,私人的和一次性的。有人会调用您的代码并移交私有回调,一旦执行就会被处理掉。在大多数情况下,可用性是有限的(限于单个时间点)和/或不一定是公开的。
示例:处理ajax响应。
这两种范例都有优点和缺点。使用其中一个取决于您以及您希望如何使用您的应用程序。