1

对于我自己的插件,有什么更好的架构解决方案可以扩展它们——回调(就像许多其他插件一样)或自定义事件?

4

3 回答 3

3

它们非常相似,但回调有一个明显的缺点:您只能附加一个。

通过事件,您的库使用者可以根据需要绑定任意数量的处理程序。

所以 - 我个人为事件投票。

于 2012-07-14T09:01:20.337 回答
1

IMO 在面向公众的插件中使用事件总是更好。但是如果你正在寻找更好的性能并且是一个支持插件,而不是一个独立的插件,那么使用回调总是更好的(因为没有模拟事件冒泡)。

根据文档,最好使用jQuery.Callbacks(从 v1.7 开始):

一个多用途的回调列表对象,它提供了一种强大的方法来管理回调列表。

而不是自定义回调处理程序。

于 2012-07-14T09:24:42.237 回答
1

DojojQueryDeferred对象用于允许多个回调的回调。它是Promise设计模式的一种实现。

于 2012-07-14T09:35:25.850 回答