level 11
lbc19920615
楼主
事件重复注册是jquey消耗内存的一大问题 但是有些问题则是我们自己造成的
比如说你在写代码的时候 这样写
$("
#sample").click(function(){
})
我想大部分人都会这么写
这样写带来什么坏处呢 不能灵活绑定方法
click 这个函数其实是on的简单调用 无法使用 on的高级调用 其实也破坏了js的灵活性
待我写一个列子
$("#sample").click(function(){
alert("注册");
})
$("#sample").click(function(){
alert("再注册");
})
先弹出“注册” 在弹出“在注册”
如果我再写个off方法呢
$("#sample").off("click");
我操
(暴躁)
不执行了 但是我想第二个执行
(无奈的笑)
第一个不执行啊 怎么办啊
别急用on吧
我们先写个方法
function do1(){
alert("注册");
}
function do2(){
alert("再注册");
}
$("#sample").on("click",do1);
$("#sample").on("click",do2);
这时候我们可以选择性删除了
(够拽)
$("#sample").off("click",do1);
执行下
弹出”再注册“;
(呵呵)
就是这样
在告诉你们一个小秘密
(苦逼)
这时候你们匿名绑定的删不掉的![[冷]](/static/emoticons/u51b7.png)
![[冷]](/static/emoticons/u51b7.png)
2014年03月27日 10点03分
1
比如说你在写代码的时候 这样写
$("
#sample").click(function(){
})
我想大部分人都会这么写
这样写带来什么坏处呢 不能灵活绑定方法
click 这个函数其实是on的简单调用 无法使用 on的高级调用 其实也破坏了js的灵活性
待我写一个列子
$("#sample").click(function(){
alert("注册");
})
$("#sample").click(function(){
alert("再注册");
})
先弹出“注册” 在弹出“在注册”
如果我再写个off方法呢
$("#sample").off("click");
我操
(暴躁)
不执行了 但是我想第二个执行
(无奈的笑)
第一个不执行啊 怎么办啊
别急用on吧
我们先写个方法
function do1(){
alert("注册");
}
function do2(){
alert("再注册");
}
$("#sample").on("click",do1);
$("#sample").on("click",do2);
这时候我们可以选择性删除了
(够拽)
$("#sample").off("click",do1);
执行下
弹出”再注册“;
(呵呵)
就是这样
在告诉你们一个小秘密
(苦逼)
这时候你们匿名绑定的删不掉的