1

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

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

缺口

4

1 回答 1

5

这取决于您要实现的目标——这是一种架构选择。

基本上,事件范式是开放的、非私有的和持久的。您有一个公共事件,每个人都可以注册,并且他们的事件函数基本上可以根据需要随时调用,直到他们从事件中注销。对重复事件有意义。

示例:注册到悬停事件。

回调范式是孤立的、私有的和一次性的。有人调用您的代码并交出一个私有回调,该回调将在执行后被释放。在大多数情况下,可用性是有限的(仅限于单个时间点)和/或不一定是公开的。

示例:处理 ajax 响应。

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

于 2013-07-23T10:51:16.913 回答