Latest web development tutorials

jQuery.Callbacks () Método

Métodos variados jQuery 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 ); // Output: foo! retornos de chamada. fogo ( "Foo!" ) ;. Callbacks adicionar ( fn2 !); // Output: bar, fn2 diz: bar! 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

$.Callbacks( flags )

参数 描述
flags 可选。 String类型 一个用空格标记分隔的可选列表,用来改变回调列表中的行为


Exemplos

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 ); // Output: foo! retornos de chamada. fogo ( "Foo!" ) ;. Callbacks adicionar ( fn2 !); // Output: bar, fn2 diz: bar! retornos de chamada. fogo ( "Bar!" ) ;. Callbacks remover ( fn2 ); // Saída única ola, fn2 foi removido. 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" ); / * Única saída: foo * / })

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" ); / * Resultado: foo fn2 diz: foo bar fn2 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" ); / * Resultado: foo bar fn2 diz: bar 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" ); / * Resultado: foo bar 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" ); / * Resultado: foo fn2 diz: foo bar fn2 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 ); / * Output: Olá mundo * / })

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;}; // assinantes $. Tópico ( "MailArrived" ). Assinar ( fn1 ) ;. $ Topic ( "MailArrived" ). Assinar ( fn2 ) ;. $ Topic ( "MailSent" ). Assinar ( fn1 ); // Publisher $. Tópico ( "MailArrived" ). Publicar ( "Olá, mundo!" ) ;. $ Topic ( "MailSent" ). Publicar ( "Mail! Woo!" ); / * Output: Olá fn2 mundo diz: Olá mundo 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;}; // Assinar aviso mailArrived $. Tópico ( "MailArrived" ). Assinar ( fn1 ); // Criar um novo atraso objeto alternativo $ .Deferreds var . Dfd = $ diferidos (); // definir um novo artigo (não diretamente liberar) var topic = $. Tópico ( "MailArrived" ); // Quando o atraso for aceite, um anúncio para os assinantes dfd. done ( tópico. publicar ); / * Aqui vai ser passado de volta para atraso da mensagem do assinante é aceite, é possível integrar os procedimentos complexos (por exemplo, à espera de uma chamada Ajax está concluída), então na verdade apenas liberada depois de a mensagem. * / // Concluída. dfd. resolver ( "Eu tenho sido lançado!" );})

tente »


Métodos variados jQuery Métodos variados jQuery