过去我通过在窗口上绑定在 jQuery 中完成了非常简单的 pub/sub。
// subscribe
$( window ).on("someEvent", function() { ... });
// publish
$( window ).trigger("someEvent");
然而,我最近了解了新的回调功能,这似乎是在 jQuery 中处理 pub/sub 的推荐方式。
与仅在窗口上绑定相比,使用回调有什么优势?对于像上面这样的简单系统,使用回调功能是否过大?
编辑:这是有关我通常如何使用上述内容的更多信息...
这是我有时会做的事情,以允许我的 jQuery 插件相互通信。例如,我有自己的可拖动和可放置的插件,需要进行通信。
当拖动开始、更新和停止时,可拖动插件会触发窗口上的自定义事件。droppable 插件会监视这些事件并做出相应的反应。
// in draggable
onStart: function() {
$( window ).trigger("dragger.start", [data]);
}
// in droppable
$( window ).on("dragger.start", function(event, data) {
...
});