事件模块的演变(7)

首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

事件模块的演变(7)

作者:  时间: 2011-05-27

现有的事件管理都挂放在HTMLElement上的,即每个element有个events属性,该属性可以当成个hash对象。里面存储这该element的所有事件及事件handler。比如给element添加了click/mouseover/mouseout 三个事件,响应函数分别是f1/f2/f3。events的结构如下

每一个events['click'] 是一个数组,即存放多个handler。给element的click事件添加3个事件handler,其结构如下


往HTMLElement上添加了一个对象,该对象中存放了许多事件handler,可能会存在内存泄露的问题尤其在IE6中。这篇将修改下,HTMLElenent上不再挂events属性而是使用guid。即往HTMLELement上添加一个唯一数字,改数字作为对象evtHash的key以存放事件handler。添加修改后的结构如下


event-v0.4.js

作者: snandy 发表于 2011-05-27 14:54 原文链接

评论: 2 查看评论 发表评论


最新新闻:
· 朝鲜自主研发计算机遭质疑:酷似西门子上网本(2011-05-27 15:21)
· Facebook上市展望:一夜暴富或导致高管离职(2011-05-27 15:18)
· 英特尔Meego依旧前途未卜(2011-05-27 15:10)
· 陈一舟:我为人人 人人为我(2011-05-27 15:02)
· kindle之后 汉王大势已去(2011-05-27 14:57)

编辑推荐:推荐阅读:谈谈对于企业级系统架构的理解

网站导航:博客园首页  我的园子  新闻  闪存  小组  博问  知识库