jQuery.Callbacks () -Methode
jQuery Misc Methoden
Beispiele
Fügen Sie eine Callback-Funktion in die Liste der $ .Callbacks
$ (Funktion () {
Funktion FN1 ( Wert ) {
alert ( Wert );}
Funktion Fn2 ( Wert ) {
FN1 ( "fn2 sagt:" + value); return false;}
var Rückrufe = $ Rückrufe () ;. . Rückrufe hinzufügen ( fn1 );
Rückrufe. Feuer ( "Foo" ) ;. Rückrufe hinzufügen ( Fn2
Rückrufe. Feuer ( "Bar!" );})
Versuchen »
Definition und Verwendung
$ .Callbacks () Bezieht sich auf eine Mehrzweckrückrufliste von Objekten, eine effektive Methode, die Callback-Funktion Spalte rechts zu verwalten.
Tipp: $ .Callbacks in jQuery für den internen Gebrauch, wie .ajax, Latente $ und andere Komponenten bieten Funktionen für die Grundfunktionalität. Es kann auch in einigen Komponenten ähnliche Funktion verwendet werden, wie beispielsweise ihre eigenen Plug-ins zu entwickeln.
Grammatik
参数 |
描述 |
flags
|
可选。 String类型 一个用空格标记分隔的可选列表,用来改变回调列表中的行为 |
Weitere Beispiele
Hier ist .remove () einen spezifischen Rückruf von den Rückrufliste Beispiele zu entfernen
Beispiele
$ (Funktion () {
Funktion FN1 ( Wert ) {
alert ( Wert );}
Funktion Fn2 ( Wert ) {
FN1 ( "fn2 sagt:" + value); return false;}
var Rückrufe = $ Rückrufe () ;. . Rückrufe hinzufügen ( fn1 );
Rückrufe. Feuer ( "Foo" ) ;. Rückrufe hinzufügen ( Fn2
Rückrufe. Feuer ( "Bar!" ) ;. Rückrufe entfernen ( Fn2 );
Rückrufe. Feuer ( "Foobar" );})
Versuchen »
Unterstützte Parameter Flags
Der Parameter flags ist $ .Callbacks () ist ein optionaler Parameter, die die Struktur eines durch Leerzeichen getrennte Fähnchen gekennzeichnet optionale Liste, die Rückrufliste Verhalten zu ändern (z. B. $ .Callbacks ( 'Einzigartige stopOnFalse')).
Im Folgenden sind die verfügbaren Flags:
参数 |
描述 |
once
|
确保这个回调列表只执行一次 |
memory
|
缓存上一次fire时的参数值,当add()添加回调函数时,直接用上一次的参数值立刻调用新加入的回调函数 |
unique
|
确保一次只能添加一个回调,不会重复添加 |
stopOnFalse
|
某个回调函数返回false之后中断后面的回调函数 |
Hier ist ein Beispiel $ .Callbacks ( "einmal") von
Beispiele
$ (Funktion () {
Funktion FN1 ( Wert ) {
alert ( Wert );}
Funktion Fn2 ( Wert ) {
FN1 ( "fn2 sagt:" + value); return false;}
var Rückrufe = $. Rückrufe ( "Once" ) ;. Rückrufe hinzufügen ( fn1 ) ;. Rückrufe Feuer ( "Foo" ) ;. Rückrufe hinzufügen ( Fn2 ) ;. Rückrufe Feuer ( "Bar" ) ;. Rückrufe entfernen ( Fn2 ) ;. Rückrufe Feuer ( "Foobar" );
})
Versuchen » Hier ist ein Beispiel $ .Callbacks ( "Gedächtnis") von
Beispiele
$ (Funktion () {
Funktion FN1 ( Wert ) {
alert ( Wert );}
Funktion Fn2 ( Wert ) {
FN1 ( "fn2 sagt:" + value); return false;}
var Rückrufe = $. Rückrufe ( "Memory" ) ;. Rückrufe hinzufügen ( fn1 ) ;. Rückrufe Feuer ( "Foo" ) ;. Rückrufe hinzufügen ( Fn2 ) ;. Rückrufe Feuer ( "Bar" ) ;. Rückrufe entfernen ( Fn2 ) ;. Rückrufe Feuer ( "Foobar" ); sagt: bar foobar * /
})
Versuchen » Hier ist ein Beispiel $ .Callbacks ( "unique") von
Beispiele
$ (Funktion () {
Funktion FN1 ( Wert ) {
alert ( Wert );}
Funktion Fn2 ( Wert ) {
FN1 ( "fn2 sagt:" + value); return false;}
var Rückrufe = $. Rückrufe ( "Unique" ) ;. Rückrufe hinzufügen ( fn1 ) ;. Rückrufe Feuer ( "Foo" ) ;. Rückrufe hinzufügen ( fn1 // Wiederholen Sie zusätzlich
Rückrufe. add ( Fn2 ) ;. Rückrufe Feuer ( "Bar" ) ;. Rückrufe entfernen ( Fn2 ) ;. Rückrufe Feuer ( "Foobar" ); * /
})
Versuchen » Hier ist ein Beispiel $ .Callbacks ( "stopOnFalse") von
Beispiele
$ (Funktion () {
Funktion FN1 ( Wert ) {
alert ( Wert ); Return false;}
Funktion Fn2 ( Wert ) {
FN1 ( "Fn2 sagt:" + Wert ); Return false;}
var Rückrufe = $. Rückrufe ( "StopOnFalse" ) ;. Rückrufe hinzufügen ( fn1 ) ;. Rückrufe Feuer ( "Foo" ) ;. Rückrufe hinzufügen ( Fn2 ) ;. Rückrufe Feuer ( "Bar" ) ;. Rückrufe entfernen ( Fn2 ) ;. Rückrufe Feuer ( "Foobar" );
})
Versuchen » $ .Callbacks () Unterstützt eine Liste aus einer Vielzahl von Fahnen (Identifikation) nicht nur eine, es gibt eine kumulative Wirkung, wie "&&."
Hier ist ein Beispiel $ .Callbacks ( 'einzigartige Gedächtnis') von
Beispiele
$ (Funktion () {
Funktion FN1 ( Wert ) {
alert ( Wert ); Return false;}
Funktion Fn2 ( Wert ) {
FN1 ( "Fn2 sagt:" + Wert ); Return false;}
var Rückrufe = $. Rückrufe ( "Unique memory" ) ;. Rückrufe hinzufügen ( fn1 ) ;. Rückrufe Feuer ( "Foo" ) ;. Rückrufe hinzufügen ( fn1 // Wiederholen Sie zusätzlich
Rückrufe. add ( Fn2 ) ;. Rückrufe Feuer ( "Bar" ) ;. Rückrufe hinzufügen ( Fn2 ) ;. Rückrufe Feuer ( "Baz" ) ;. Rückrufe entfernen ( Fn2 ) ;. Rückrufe Feuer ( "Foobar" ); sagt: bar baz fn2 sagt: baz foobar * /
})
Versuchen » $ .Callbacks Verfahren kann auch getrennt werden, beispielsweise:
Beispiele
$ (Funktion () {
Funktion FN1 ( Wert ) {
alert ( Wert );}
var ... Rückrufe = $ Rückrufe ( ), fügen = Rückrufe hinzufügen, entfernen = Rückrufe zu entfernen, Feuer = Rückrufe Feuer ;. hinzufügen ( fn1 ); Fire ( "Hallo Welt" ); Entfernen ( fn1 );
})
Versuchen »
$ .Callbacks, $ .Deferred Und Pub / Sub
Die allgemeine Idee pub / sub (Beobachter-Muster) hinter lose Kopplung und effiziente Kommunikation für Ihre Anwendung. Beobachter auch als Teilnehmer bekannt, die zu dem beobachteten Objekt zeigt. Benutzer benachrichtigen, wenn ein Beobachter (Publisher) Ereignis eintritt.
Wie $ .Callbacks () eine Präsentationskomponente zu erstellen, nur die Callback-Funktion Liste können Sie Pub / Sub-System zu erreichen. Die $ .Callbacks Artikel als Warteschlange kann auf die folgende Art und Weise durchgeführt werden, um den Artikel zu veröffentlichen und abonnieren Sie erreichen:
Beispiele
$ (Funktion () {
Funktion FN1 ( Wert ) {
alert ( Wert ); Return false;}
Funktion Fn2 ( Wert ) {
FN1 ( "Fn2 sagt:" + Wert ); Return false;}
var Themen = {} ;. jQuery Topic = function ( Identifikation ) {
var Rückrufe, Methode Thema = id && Themen [ Identifikation ] : Wenn diese (! Topic ) {
. Rückrufe = jQuery Rückrufe (); Thema = {
veröffentlichen: Rückrufe Feuer, abonnieren :. Rückrufe hinzufügen, abmelden :. Rückrufe entfernen.
}; Wenn ( Identifikation ) {
Themen [ Identifikation ] = Thema;}
}
Rückkehr // $. Thema ( "MailArrived" ). Abonnieren ( fn1 ) ;. $ Thema ( "MailArrived" ). Abonnieren ( Fn2 ) ;. $ Thema ( "MailSent" ). Abonnieren ( fn1 ); $. Thema ( "MailArrived" ). Veröffentlichen ( "Hallo Welt!" ) ;. $ Thema ( "MailSent" ). Veröffentlichen ( "Woo! Mail an !" ); Mail * woo / !!!!
})
Versuchen » Ferner die Verwendung von $ .Deferreds zu verbessern, können Sie sicherstellen, dass, wenn eine bestimmte Aufgabe (oder aufgelöst werden können) abgeschlossen ist, der Verlag nur eine Mitteilung an die Abonnenten ausgegeben. Siehe den folgenden Beispielcode:
Beispiele
$ (Funktion () {
Funktion FN1 ( Wert ) {
alert ( Wert ); Return false;}
Funktion Fn2 ( Wert ) {
FN1 ( "Fn2 sagt:" + Wert ); Return false;}
var Themen = {} ;. jQuery Topic = function ( Identifikation ) {
var Rückrufe, Methode Thema = id && Themen [ Identifikation ] : Wenn diese (! Topic ) {
. Rückrufe = jQuery Rückrufe (); Thema = {
veröffentlichen: Rückrufe Feuer, abonnieren :. Rückrufe hinzufügen, abmelden :. Rückrufe entfernen.
}; Wenn ( Identifikation ) {
Themen [ Identifikation ] = Thema;}
}
Rückkehr // $. Thema ( "MailArrived" ). Abonnieren ( fn1 ); Sie
var . Dfd = $ Latente (); //
var Thema = $. Thema ( "MailArrived" );
dfd. Fertig ( Thema. veröffentlichen ); , - der
dfd. auflösen ( "Ich habe veröffentlicht!" );})
Versuchen »
jQuery Misc Methoden