最近看完了添加事件和删除事件的核心方法,忍不住想把jQuery的事件模块抠出来。jQuery的代码是非常内聚的,一环套一环。想独立出来不容易。jQuery的事件模块严重依赖于其数据储存(jQuery.data),你会发现我的代码中的dataManager对象对应它。
这里只提供bind和unbind方法。暂不包含
- 事件命名空间(event namespace)
- 事件代理(event delegation)
- 特殊事件如dom ready
接口如下:
E.bind(el, 'click', fn); E.bind(el, 'click', fn, data); E.unbind(el, 'click', fn); E.unbind(el, 'click'); E.unbind(el);