Метод jQuery.Callbacks ()
Jquery методы Разное
примеров
Добавить функцию обратного вызова к списку $ .Callbacks
$ (Функция () {
функция fn1 ( значение ) {
оповещение ( значение );}
функция Fn2 ( значение ) {
fn1 ( "Fn2 говорит:" + значение); возврат ложь;}
вар Обратные вызовы = $ Callbacks () ;. . обратные вызовы добавить ( fn1 );
Обратные вызовы. пожар ( "Foo!" ) ;. Callbacks добавить ( Fn2
Обратные вызовы. пожар ( "Бар!" );})
Попробуйте »
Определение и использование
$ .Callbacks () Относится к списку обратного вызова многоцелевой объектов, предоставляя мощный способ управления правом обратного вызова функции столбца.
Совет: $ .Callbacks в Jquery для внутреннего использования, такие как .ajax, $ Отложенный и другие компоненты обеспечивают функции для базовой функциональности. Он также может быть использован в некоторых компонентах аналогичные функции, такие, как разрабатывать свои собственные подключаемые модули.
грамматика
参数 |
描述 |
flags
|
可选。 String类型 一个用空格标记分隔的可选列表,用来改变回调列表中的行为 |
Другие примеры
Вот .remove () для удаления конкретного обратного вызова из списка примеров обратного вызова
примеров
$ (Функция () {
функция fn1 ( значение ) {
оповещение ( значение );}
функция Fn2 ( значение ) {
fn1 ( "Fn2 говорит:" + значение); возврат ложь;}
вар Обратные вызовы = $ Callbacks () ;. . обратные вызовы добавить ( fn1 );
Обратные вызовы. пожар ( "Foo!" ) ;. Callbacks добавить ( Fn2
Обратные вызовы. пожар ( "Бар!" ) ;. Callbacks удалить ( Fn2 );
Обратные вызовы. пожар ( "Foobar" );})
Попробуйте »
Поддерживаемые параметр Flags
Параметр флагов составляет $ .Callbacks () является необязательным параметром, структура разделенных пробелами флагов отмечен дополнительный список, чтобы изменить поведение списка обратного вызова (например. $ .Callbacks ( 'Уникальный stopOnFalse')).
Доступны следующие флаги:
参数 |
描述 |
once
|
确保这个回调列表只执行一次 |
memory
|
缓存上一次fire时的参数值,当add()添加回调函数时,直接用上一次的参数值立刻调用新加入的回调函数 |
unique
|
确保一次只能添加一个回调,不会重复添加 |
stopOnFalse
|
某个回调函数返回false之后中断后面的回调函数 |
Вот пример $ .Callbacks ( "один раз") из
примеров
$ (Функция () {
функция fn1 ( значение ) {
оповещение ( значение );}
функция Fn2 ( значение ) {
fn1 ( "Fn2 говорит:" + значение); возврат ложь;}
вар Обратные вызовы = $. Callbacks ( "После того, как" ) ;. Callbacks добавить ( fn1 ) ;. Callbacks огонь ( "Foo" ) ;. Callbacks добавить ( Fn2 ) ;. Callbacks огонь ( "Бар" ) ;. Callbacks удалить ( Fn2 ) ;. Callbacks огонь ( "Foobar" );
})
Попробуйте » Вот пример $ .Callbacks ( "память") из
примеров
$ (Функция () {
функция fn1 ( значение ) {
оповещение ( значение );}
функция Fn2 ( значение ) {
fn1 ( "Fn2 говорит:" + значение); возврат ложь;}
вар Обратные вызовы = $. Callbacks ( "Память" ) ;. Callbacks добавить ( fn1 ) ;. Callbacks огонь ( "Foo" ) ;. Callbacks добавить ( Fn2 ) ;. Callbacks огонь ( "Бар" ) ;. Callbacks удалить ( Fn2 ) ;. Callbacks огонь ( "Foobar" ); говорит: бар Foobar * /
})
Попробуйте » Вот пример $ .Callbacks ( "уникальный") из
примеров
$ (Функция () {
функция fn1 ( значение ) {
оповещение ( значение );}
функция Fn2 ( значение ) {
fn1 ( "Fn2 говорит:" + значение); возврат ложь;}
вар Обратные вызовы = $. Callbacks ( "Уникальный" ) ;. Callbacks добавить ( fn1 ) ;. Callbacks огонь ( "Foo" ) ;. Callbacks добавить ( fn1 // Повторное добавление
Обратные вызовы. Добавить ( Fn2 ) ;. Callbacks огонь ( "Бар" ) ;. Callbacks удалить ( Fn2 ) ;. Callbacks огонь ( "Foobar" ); * /
})
Попробуйте » Вот пример $ .Callbacks ( "stopOnFalse") из
примеров
$ (Функция () {
функция fn1 ( значение ) {
оповещение ( значение ); Возвращение ложь;}
функция Fn2 ( значение ) {
fn1 ( "Fn2 говорит:" значение + ); Возвращение ложь;}
вар Обратные вызовы = $. Callbacks ( "StopOnFalse" ) ;. Callbacks добавить ( fn1 ) ;. Callbacks огонь ( "Foo" ) ;. Callbacks добавить ( Fn2 ) ;. Callbacks огонь ( "Бар" ) ;. Callbacks удалить ( Fn2 ) ;. Callbacks огонь ( "Foobar" );
})
Попробуйте » $ .Callbacks () Поддерживает список из множества флагов (идентификации) не только один, есть кумулятивный эффект, как и "&&".
Вот пример $ .Callbacks ( 'уникальная память') из
примеров
$ (Функция () {
функция fn1 ( значение ) {
оповещение ( значение ); Возвращение ложь;}
функция Fn2 ( значение ) {
fn1 ( "Fn2 говорит:" значение + ); Возвращение ложь;}
вар Обратные вызовы = $. Callbacks ( "Уникальная память" ) ;. Callbacks добавить ( fn1 ) ;. Callbacks огонь ( "Foo" ) ;. Callbacks добавить ( fn1 // Повторное добавление
Обратные вызовы. Добавить ( Fn2 ) ;. Callbacks огонь ( "Бар" ) ;. Callbacks добавить ( Fn2 ) ;. Callbacks огонь ( "Баз" ) ;. Callbacks удалить ( Fn2 ) ;. Callbacks огонь ( "Foobar" ); говорит: бар Баз Fn2 говорит: Баз Foobar * /
})
Попробуйте » $ .Callbacks Метод также могут быть разделены, например:
примеров
$ (Функция () {
функция fn1 ( значение ) {
оповещение ( значение );}
вар ... Обратных вызовов = $ Callbacks ( ), добавьте = обратные вызовы добавить, удалить = обратные вызовы удалить, огонь = обратные вызовы огонь ;. добавить ( fn1 ); Огонь ( "Привет мир" ); Удалить ( fn1 );
})
Попробуйте »
$ .Callbacks, $ .Deferred И Pub / Sub
Общая идея паб / к югу (рисунок наблюдателя) за слабой связи и эффективной связи для вашего приложения. Наблюдатели также известный как абонент, который указывает на наблюдаемый объект. Уведомить пользователя, когда происходит наблюдатель (издатель) событие.
Как $ .Callbacks (), чтобы создать компонент представления, только список функций обратного вызова, вы можете достичь Pub / Sub системы. В статье $ .Callbacks как очередь может быть сделана следующим образом, для достижения статьи публикации и подписки:
примеров
$ (Функция () {
функция fn1 ( значение ) {
оповещение ( значение ); Возвращение ложь;}
функция Fn2 ( значение ) {
fn1 ( "Fn2 говорит:" значение + ); Возвращение ложь;}
вар темы = {} ;. JQuery тема = функция ( ID ) {
вар обратных вызовов, метод, тема = ID && темы [ ID ]; Если (! Тема ) {
Обратные вызовы. = JQuery Callbacks (); тема = {
публикующие: обратные вызовы огонь, подписаться :. обратные вызовы добавить, отписать :. обратные вызовы удалить.
}; Если ( ID ) {
темы [ ID ] = Тема;}
}
возвращение // $. Тема ( "MailArrived" ). Подписка ( fn1 ) ;. $ Тема ( "MailArrived" ). Подписка ( Fn2 ) ;. $ Тема ( "MailSent" ). Подписка ( fn1 ); $. Тема ( "MailArrived" ). Публикация ( "Привет , мир!" ) ;. $ Тема ( "MailSent" ). Публикация ( "Woo! Почта!" ); посватать почта * / !!!!
})
Попробуйте » Дальнейшее улучшение использования $ .Deferreds, вы можете быть уверены, что, когда конкретная задача выполнена (или решительность), издатель выпустил уведомление только подписчикам. Смотрите следующий пример кода:
примеров
$ (Функция () {
функция fn1 ( значение ) {
оповещение ( значение ); Возвращение ложь;}
функция Fn2 ( значение ) {
fn1 ( "Fn2 говорит:" значение + ); Возвращение ложь;}
вар темы = {} ;. JQuery тема = функция ( ID ) {
вар обратных вызовов, метод, тема = ID && темы [ ID ]; Если (! Тема ) {
Обратные вызовы. = JQuery Callbacks (); тема = {
публикующие: обратные вызовы огонь, подписаться :. обратные вызовы добавить, отписать :. обратные вызовы удалить.
}; Если ( ID ) {
темы [ ID ] = Тема;}
}
возвращение // $. Тема ( "MailArrived" ). Подписка ( fn1 );
вар . DFD = $ Отложенный (); //
вар тема = $. Тема ( "MailArrived" );
DFD. Done ( тема. публиковать ); в что
DFD. решить ( "Я был освобожден!" );})
Попробуйте »
Jquery методы Разное