2011-01-06 4 views
3

Ich lernte, wie in Javascript mit der YUI 2 Bibliothek zu entwickeln, und frage mich, ob es eine jQuery Äquivalent Benutzerdefinierte Ereignisse waren (http://developer.yahoo.com/yui/event/#customevent)Gibt es ein jQuery-Äquivalent von YUI 2 Event Event Publish/Subscribe?

Insbesondere möchte ich ohne benutzerdefinierte Ereignisse definieren können, die Zuhörer befestigen mit anfänglich.

In YUI würde ich eine Seitenklasse erstellen und verschiedene benutzerdefinierte Ereignisse deklarieren, die abonniert werden können. Nachfolgend finden Sie einige Beispiel-Code zu zeigen, was ich tun will, aber mit jQuery

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

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

In Anwendung Javascript, würde ich dann auf die initEvent abonnieren möchten.

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

page.init(); 

Gibt es Tutorials/Beispiele für so etwas in jQuery?

Ich verstehe, dass ich etwas ähnliches mit bind() und trigger() tun kann, aber die Impression, die ich bekomme, ist, muss ich einen Event-Handler übergeben, wenn ich Bind() aufrufen.

Ist es in jQuery möglich, das benutzerdefinierte Ereignis zu erstellen, aber später den Ereignishandler zu übergeben?

Ich hoffe meine Frage ergibt Sinn. Vielen Dank!

Antwort

7

Es gibt viele Pub/Sub-Plugins für Jquery.

Beispiel - Rebecca Murphy screencast

Plugins - Ben Almans pubsub, Phiggins pubsub

+0

Die Screencasts von Rebecca Murphy deckt genau das, was ich suchte. Danke! – Abe

+0

Ich wollte nur hinzufügen, dass das Plug-in pigsub von Phiggins absolut fantastisch ist! – Abe

+0

@Abe - froh, dass es für Sie arbeitet. – redsquare