宁静的世界
需时越兔
博客园
社区
首页
新随笔
联系
管理
订阅
随笔- 19 文章- 2 评论- 50
关于ie事件多投内存泄漏的一种简单解法
额,这个问题大家应该经常碰到,但也通常都忽略(当然,我也忽略:D
不过还是提供一个简单的解决方案。
问题如下代码:
var
bind
=
function
(el, F) {
el.attachEvent(
'
click
'
,
function
() {
F(el);
});
};
匿名函数[[scope]]有到el的循环引用
经过测试,利用scope chain的查找特性可以解决此问题。
代码如下:
var
bind
=
function
(el, F) {
void
function
() {
var
closure
=
function
() {
F(el);
};
el.attachEvent(
'
click
'
, closure);
}();
};
稍微改一下:
var
bind
=
function
(el, type, handler) {
return
function
() {
var
closure
=
function
() {
return
handler.apply(el, arguments);
};
return
el.attachEvent(type, closure);
}();
};
当然,实际中的事件多投要比这个复杂的多,要考虑扩展事件代理(如mouseenter实际是代理mouseover来模拟的)等各种问题。在此就不多说了。
绿色通道:
好文要顶
关注我
收藏该文
与我联系
posted @ 2011-06-14 13:21
越兔
阅读(194)
评论(0)
编辑
收藏
注册用户登录后才能发表评论,请
登录
或
注册
,
返回博客园首页
。
首页
博问
闪存
新闻
园子
招聘
知识库
最新IT新闻
:
·
iPhone 5四大猜想:泪珠状 带LED苹果标识
·
当当网Q4整体亏损1.3亿元 上年同期净利润1480万元
·
把孩子培养成为合格Geek的七个方法
·
担心网购的衣服不合身? 创业公司Clothes Horse用“问答”就能解决你的难题
·
评价社交媒体活动ROI的三个精确指标
»
更多新闻...
最新知识库文章
:
·
编程的艺术:漂亮的代码和漂亮的软件
·
GIT分支管理是一门艺术
·
编程:是一门艺术
·
编程是一门艺术吗?
·
对Java初学者的忠告
»
更多知识库文章...
China-pub 2011秋季教材巡展
China-Pub 计算机绝版图书按需印刷服务
公告
昵称:
越兔
园龄:
3年8个月
粉丝:
3
关注:
0
<
2011年6月
>
日
一
二
三
四
五
六
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
搜索
常用链接
我的随笔
我的评论
我的参与
最新评论
我的标签
更多链接
我的标签
regexp(5)
javascript(3)
eval(1)
function(1)
open(1)
global(1)
scope chain(1)
prototype chian(1)
multiline(1)
test(1)
随笔分类
ASP(1)
(rss)
JavaScript(16)
(rss)
VB
(rss)
其它(2)
(rss)
设计模式
(rss)
数据结构与算法
(rss)
随笔档案
2011年7月 (1)
2011年6月 (1)
2011年2月 (1)
2011年1月 (1)
2010年8月 (1)
2008年12月 (2)
2008年11月 (3)
2008年10月 (1)
2008年8月 (1)
2008年7月 (4)
2008年6月 (3)
文章分类
ASP
(rss)
JavaScript(2)
(rss)
VB
(rss)
设计模式
(rss)
数据结构与算法
(rss)
DHTML群里伟大的前辈们。。。
伟大的aoao大哥。。。
伟大的BL大哥。。。
伟大的EMU前辈。。。
伟大的FS前辈。。。
伟大的JK大哥。。。
伟大的winter大哥for-cnblogs。。。
伟大的winter大哥for-csdn。。。
伟大的飘飘前辈。。。
伟大的石头君。。。
伟大的水水前辈。。。
伟大的顺子前辈。。。
伟大的兔老师。。。。
伟大的月影大姐姐for-csdn。。。
WED
威武的萌君
威武的萌君
威武的烁君
威武的烁君
威武的子龙君
威武的子龙君
最新评论
阅读排行榜
评论排行榜
推荐排行榜