3

我学习了如何使用 YUI 2 库在 Javascript 中进行开发,并且想知道是否存在与自定义事件 ( http://developer.yahoo.com/yui/event/#customevent )等效的 jQuery

具体来说,我希望能够定义自定义事件,而不必最初附加侦听器。

在 YUI 中,我将创建一个页面类并声明可以订阅的不同自定义事件。下面是一些示例代码来演示我想要做什么,但使用 jQuery

function ListPage() {
    var me = this;
    this.initEvent = new YAHOO.util.CustomEvent("initEvent");

    this.init = function() {
         // initialize events, DOM, etc
         this.initEvent.fire(me);
    }
}

在应用程序 Javascript 中,我想订阅 initEvent。

var page = new ListPage();
page.initEvent.subscribe(
    function (type, args) {
        // do stuff here
    }
);

page.init();

jQuery中是否有类似的教程/示例?

我知道我可以使用 bind() 和 trigger() 做类似的事情,但我得到的印象是我必须在调用 bind() 时传入一个事件处理程序。

是否可以在 jQuery 中创建自定义事件,但稍后传入事件处理程序?

我希望我的问题是有道理的。谢谢!

4

1 回答 1

7

jquery 有很多发布/订阅插件。

示例 - 丽贝卡·墨菲截屏视频

插件 - Ben Almans pubsub , Phiggins pubsub

于 2011-01-06T22:50:57.723 回答