jQuery.Callbacks () Método
Métodos variados jQuery
Exemplos
Adicionar uma função de retorno à lista de $ .Callbacks
$ (Function () {
função FN1 ( valor ) {
alert ( valor );}
função fn2 ( valor ) {
FN1 ( "fn2 diz:" + value); retorno false;}
var callbacks = $ Callbacks () ;. . callbacks add ( fn1 );
retornos de chamada. fogo ( "Foo!" ) ;. Callbacks adicionar ( fn2
retornos de chamada. fogo ( "Bar!" );})
tente »
Definição e Uso
$ .Callbacks () Refere-se a uma lista de retorno de chamada multiuso de objetos, fornecendo uma maneira poderosa para gerenciar o direito de retorno de chamada coluna de função.
Dica: $ .Callbacks em jQuery para uso interno, tais como .ajax, $ diferidos e outros componentes fornecem funções para a funcionalidade básica. Também pode ser usada em alguns componentes função semelhante, tal como para desenvolver os seus próprios plug-ins.
gramática
参数 |
描述 |
flags
|
可选。 String类型 一个用空格标记分隔的可选列表,用来改变回调列表中的行为 |
mais exemplos
Aqui está .remove () para remover um retorno de chamada específica a partir dos exemplos da lista de retorno de chamada
Exemplos
$ (Function () {
função FN1 ( valor ) {
alert ( valor );}
função fn2 ( valor ) {
FN1 ( "fn2 diz:" + value); retorno false;}
var callbacks = $ Callbacks () ;. . callbacks add ( fn1 );
retornos de chamada. fogo ( "Foo!" ) ;. Callbacks adicionar ( fn2
retornos de chamada. fogo ( "Bar!" ) ;. Callbacks remover ( fn2 );
retornos de chamada. fogo ( "Foobar" );})
tente »
parâmetro Flags suportada
O parâmetro flags é de R $ .Callbacks () é um parâmetro opcional, a estrutura de um bandeiras delimitados por espaço marcado lista opcional, para alterar o comportamento lista de retorno de chamada (por exemplo. $ .Callbacks ( 'Único stopOnFalse')).
A seguir estão as bandeiras disponíveis:
参数 |
描述 |
once
|
确保这个回调列表只执行一次 |
memory
|
缓存上一次fire时的参数值,当add()添加回调函数时,直接用上一次的参数值立刻调用新加入的回调函数 |
unique
|
确保一次只能添加一个回调,不会重复添加 |
stopOnFalse
|
某个回调函数返回false之后中断后面的回调函数 |
Aqui está um exemplo $ .Callbacks ( "uma vez") de
Exemplos
$ (Function () {
função FN1 ( valor ) {
alert ( valor );}
função fn2 ( valor ) {
FN1 ( "fn2 diz:" + value); retorno false;}
var callbacks = $. Callbacks ( "Once" ) ;. Callbacks adicionar ( fn1 ) ;. Fogo chamadas de retorno ( "Foo" ) ;. Callbacks adicionar ( fn2 ) ;. Fogo chamadas de retorno ( "Bar" ) ;. Callbacks remover ( fn2 ) ;. Fogo chamadas de retorno ( "Foobar" );
})
tente » Aqui está um exemplo $ .Callbacks ( "memória") de
Exemplos
$ (Function () {
função FN1 ( valor ) {
alert ( valor );}
função fn2 ( valor ) {
FN1 ( "fn2 diz:" + value); retorno false;}
var callbacks = $. Callbacks ( "Memory" ) ;. Callbacks adicionar ( fn1 ) ;. Fogo chamadas de retorno ( "Foo" ) ;. Callbacks adicionar ( fn2 ) ;. Fogo chamadas de retorno ( "Bar" ) ;. Callbacks remover ( fn2 ) ;. Fogo chamadas de retorno ( "Foobar" ); diz: bar foobar * /
})
tente » Aqui está um exemplo $ .Callbacks ( "único") de
Exemplos
$ (Function () {
função FN1 ( valor ) {
alert ( valor );}
função fn2 ( valor ) {
FN1 ( "fn2 diz:" + value); retorno false;}
var callbacks = $. Callbacks ( "Único" ) ;. Callbacks adicionar ( fn1 ) ;. Fogo chamadas de retorno ( "Foo" ) ;. Callbacks adicionar ( fn1 // Repita disso
retornos de chamada. add ( fn2 ) ;. Fogo chamadas de retorno ( "Bar" ) ;. Callbacks remover ( fn2 ) ;. Fogo chamadas de retorno ( "Foobar" ); * /
})
tente » Aqui está um exemplo $ .Callbacks ( "stopOnFalse") de
Exemplos
$ (Function () {
função FN1 ( valor ) {
alert ( valor ); Retorno false;}
função fn2 ( valor ) {
FN1 ( "Fn2 diz:" Valor + ); Retorno false;}
var callbacks = $. Callbacks ( "StopOnFalse" ) ;. Callbacks adicionar ( fn1 ) ;. Fogo chamadas de retorno ( "Foo" ) ;. Callbacks adicionar ( fn2 ) ;. Fogo chamadas de retorno ( "Bar" ) ;. Callbacks remover ( fn2 ) ;. Fogo chamadas de retorno ( "Foobar" );
})
tente » $ .Callbacks () Suporta uma lista de uma pluralidade de bandeiras (identificação) não apenas um, há um efeito cumulativo, como "&&".
Aqui está um exemplo $ .Callbacks ( "memória única») do
Exemplos
$ (Function () {
função FN1 ( valor ) {
alert ( valor ); Retorno false;}
função fn2 ( valor ) {
FN1 ( "Fn2 diz:" Valor + ); Retorno false;}
var callbacks = $. Callbacks ( "Memória Único" ) ;. Callbacks adicionar ( fn1 ) ;. Fogo chamadas de retorno ( "Foo" ) ;. Callbacks adicionar ( fn1 // Repita disso
retornos de chamada. add ( fn2 ) ;. Fogo chamadas de retorno ( "Bar" ) ;. Callbacks adicionar ( fn2 ) ;. Fogo chamadas de retorno ( "Baz" ) ;. Callbacks remover ( fn2 ) ;. Fogo chamadas de retorno ( "Foobar" ); diz: bar baz fn2 diz: Baz foobar * /
})
tente » $ Método .Callbacks também podem ser separadas, por exemplo:
Exemplos
$ (Function () {
função FN1 ( valor ) {
alert ( valor );}
var ... Callbacks = $ Callbacks ( ), adicione = callbacks adicionar, remover = callbacks remover, fogo = retornos de chamada de incêndio ;. adicionar ( fn1 ); Fogo ( "Olá mundo" ); Remover ( fn1 );
})
tente »
$ .Callbacks, $ .Deferred E Pub / Sub
O general ideia pub / sub (observador padrão) atrás de acoplamento e comunicações eficientes para a sua aplicação. Os observadores também conhecido como um assinante, o qual aponta para o objecto observado. Notificar o usuário quando um observador (Publisher) evento ocorre.
Quanto $ .Callbacks () para criar um componente de apresentação, somente a lista de função de retorno, você pode conseguir Pub / sistema de Sub. O artigo $ .Callbacks como uma fila pode ser feito com a seguinte forma, para alcançar o artigo de publicação e assinatura:
Exemplos
$ (Function () {
função FN1 ( valor ) {
alert ( valor ); Retorno false;}
função fn2 ( valor ) {
FN1 ( "Fn2 diz:" Valor + ); Retorno false;}
var tópicos = {} ;. jQuery Topic = function ( identidade ) {
var retornos de chamada método, topic = id && tópicos [ identidade ]; Se (! Topic ) {
. callbacks = jQuery Callbacks (); topic = {
publicar: callbacks fogo, subscrever :. callbacks adicionar, cancelar a inscrição :. callbacks remover.
}; Se ( identidade ) {
tópicos [ identidade ] = Topic;}
}
retorno // $. Tópico ( "MailArrived" ). Assinar ( fn1 ) ;. $ Topic ( "MailArrived" ). Assinar ( fn2 ) ;. $ Topic ( "MailSent" ). Assinar ( fn1 ); $. Tópico ( "MailArrived" ). Publicar ( "Olá, mundo!" ) ;. $ Topic ( "MailSent" ). Publicar ( "Mail! Woo!" ); woo mail * / !!!!
})
tente » Continuar a melhorar o uso de US $ .Deferreds, você pode garantir que, quando uma tarefa específica é concluída (ou vontade), a editora emitiu um aviso para apenas assinantes. Consulte o seguinte código de exemplo:
Exemplos
$ (Function () {
função FN1 ( valor ) {
alert ( valor ); Retorno false;}
função fn2 ( valor ) {
FN1 ( "Fn2 diz:" Valor + ); Retorno false;}
var tópicos = {} ;. jQuery Topic = function ( identidade ) {
var retornos de chamada método, topic = id && tópicos [ identidade ]; Se (! Topic ) {
. callbacks = jQuery Callbacks (); topic = {
publicar: callbacks fogo, subscrever :. callbacks adicionar, cancelar a inscrição :. callbacks remover.
}; Se ( identidade ) {
tópicos [ identidade ] = Topic;}
}
retorno // $. Tópico ( "MailArrived" ). Assinar ( fn1 );
var . Dfd = $ diferidos (); //
var topic = $. Tópico ( "MailArrived" );
dfd. done ( tópico. publicar );
dfd. resolver ( "Eu tenho sido lançado!" );})
tente »
Métodos variados jQuery