jQuery Callbacks 回调列表
了解jQuery Callbacks对象:管理回调函数队列 · 难度:高级 · +15XP
jQuery Callbacks
$.Callbacks() 创建一个回调函数列表,可以灵活添加、移除和触发回调。
基本用法
var callbacks = $.Callbacks();
callbacks.add(function(msg) { console.log('第一个:', msg); });
callbacks.add(function(msg) { console.log('第二个:', msg); });
callbacks.fire('Hello');
// 输出: 第一个: Hello
// 输出: 第二个: Hello
Flags选项
$.Callbacks('once') // 只触发一次
$.Callbacks('memory') // 记住上次fire的值
$.Callbacks('unique') // 相同的回调只添加一次
$.Callbacks('stopOnFalse') // 回调返回false时停止
// 组合使用
$.Callbacks('once memory');
实际应用:发布订阅
var events = $.Callbacks();
events.add(fn1);
events.add(fn2);
events.fire(); // 触发所有回调
events.empty(); // 清空