我正在尝试在Firefox扩展中实现一个简单的Observer模式。这最初看起来相对容易,但我认为从库中获取功能是有意义的
JS.Observable似乎是一个不错的选择,但是我发现JS.Class在扩展中运行是不开心的,因为DOM不是它预期的那样,等等。
< / LI>JQuery的bind似乎提供了另一种选择,显然JQuery应该在扩展的上下文中工作。这依赖于绑定到DOM对象,这似乎对我正在尝试做的事情有点讨厌。
YUI的Custom Event似乎很理想,但YUI在扩展程序中不起作用。
我可以使用Observer模式的良好实现,还是应该像this from O'Reilly Answers那样手工编写?
答案 0 :(得分:2)
如果您完全使用Chrome代码,我只会使用Observer Service。
答案 1 :(得分:0)
Publish/Subscribe with jQuery Custom Events博客文章解释说,JQuery的绑定可以应用于任何对象,而不仅仅是DOM对象。所以,这就是我的解决方案,我跟着A Guide To Using jQuery Inside Firefox Extension让JQuery在我的命名空间扩展中很好地工作。