Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript取消订阅已发布事件_Javascript_Javascript Events_Widget_Publish Subscribe - Fatal编程技术网

使用JavaScript取消订阅已发布事件

使用JavaScript取消订阅已发布事件,javascript,javascript-events,widget,publish-subscribe,Javascript,Javascript Events,Widget,Publish Subscribe,我有一个网站,用户可以动态添加小部件。这些小部件使用Peter Higgins pub/sub插件来订阅从另一个“核心”模块发布的事件 我在自己的名称空间中有如下小部件: km.widget.name1, km.widget.name2, 等等 因此,$.subscribe创建的句柄不是全局的 我不知道当用户决定从他们的自定义页面删除小部件时,如何取消订阅这些小部件 另外,我如何知道要取消订阅哪个小部件?这并不能直接解决您的问题,但它可能会很好地帮助您。山姆·克莱曼。他描述了一种不使用该插件处理

我有一个网站,用户可以动态添加小部件。这些小部件使用Peter Higgins pub/sub插件来订阅从另一个“核心”模块发布的事件

我在自己的名称空间中有如下小部件: km.widget.name1, km.widget.name2, 等等

因此,$.subscribe创建的句柄不是全局的

我不知道当用户决定从他们的自定义页面删除小部件时,如何取消订阅这些小部件


另外,我如何知道要取消订阅哪个小部件?

这并不能直接解决您的问题,但它可能会很好地帮助您。山姆·克莱曼。他描述了一种不使用该插件处理发布/订阅事件的方法:

jquerycustomevents提供了一种内置的方式来使用publish-subscribe模式,这种方式在功能上等同于Higgin的pub/sub插件,在语法上也非常类似:只需将观察者绑定到文档


通过这种方式,您可能可以解决当前的问题。

我以前没有使用过pubsub插件,但我只是浏览了一下,看起来您可以像订阅一样取消订阅,只需使用$。取消订阅。。。而不是美元。订阅


这是您已经知道的,并且问题是由您的小部件名称空间引起的吗?无论如何,我不太清楚你所说的名称空间是什么意思,因为JavaScript不支持真正的名称空间,只支持对象——我猜这就是你正在使用的对象。

我以前看过这篇文章,但我不相信这是答案。你找到了一个好的解决方案吗?我们很快就会遇到同样的问题。我很想看看你是怎么解决的。