第一代事件系统
Eean wdwrad 大神的addEvent.js.当然最原始的jQuery事件系统也是照抄过来的.
1 | function addEvent(element, type, handler) { |
当然,这由于是最初的版本,自然还没有引入缓存系统。由于是将回调事件handler直接绑定在元素上,可能引发循环引用,导致内存泄漏。
也有在iframe中事件对象不对的问题。
在ED大神的博客的第54条回复中,直接引发了jquery的缓存机制的产生,建议给元素分配一个UUID,所有的回调都放到一个对象中去存储。
看到司徒大神的一段对于oninput事件的处理:
1 | if (W3C) { //先执行W3C |
想了很久,不知道此处的data何用,现在看到,不过是用来做数据缓存的,用来保存元素对象的rollback回调,而不用去直接绑定在元素自身。
防止循环引用的产生。