0

您好我正在创建一个具有一些重型 Javascript 功能的应用程序我对如何构建它有疑问。

我有一个与插件 B 通信的 Jquery 插件 A。插件 B 中有一些函数可以在插件 A 中发生事件时调用。这是一个基本设置。

但如果用户愿意,他们可以使用插件 C 而不是插件 B 并覆盖插件 B 的默认行为。但不能更改函数名称或插件 A 中默认调用插件 B 的任何内容。

有什么方法可以轻松实现这一目标吗?以及我应该遵循什么架构。我希望在插件 B 初始化时引发一个事件,然后我可以通过插件 C 中的函数覆盖它。

任何帮助将不胜感激。

编辑

考虑下面的例子。

我订阅了一个活动

  A.subscribe(Event, function(topic, data) {
            $.defaultfunction(Event, data, Value);
          });

默认情况下,它调用插件 B 中的函数。插件 B 具有默认函数。

现在我需要一种方法来用另一个插件 C 中的另一个函数覆盖插件 B 中的 defaultfunction 中的默认行为。

我希望我的问题很清楚。

4

1 回答 1

3

不要让插件 A 调用插件 B,而是让插件 A 触发插件 B 和 C 都在监听的事件。这允许插件 A 将其事件广播给正在使用的 B 或 C 中的任何一个。

于 2012-12-05T20:35:26.407 回答