一直在纠结怎么去删除IE中的监听函数,希望各位帮个忙,谢谢 js监听函数删除事件 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 function removeEvent(node,type,listener) { if(!(node = $(node))){return false;} if(node.removeEventListener) { //W3C方法 node.removeEventListener(type,listener,false); return false; } else if(node.detachEvent) { //MISE方法 node.detachEvent('on'+type,node[type+listener]); node[type+listener] = null; return true; } return false;};对应着写,有一点要注意,匿名函数,是没有办法解除绑定的,就像你代码中,IE下会绑定那个匿名函数,任何方法都不可能删除这个监听函数的。 想办法保存函数引用就可以了,可以用map来保存 Quote: 引用 1 楼 zyl_lyr1019 的回复:function removeEvent(node,type,listener) { if(!(node = $(node))){return false;} if(node.removeEventListener) { //W3C方法 node.removeEventListener(type,listener,false); return false; } else if(node.detachEvent) { //MISE方法 node.detachEvent('on'+type,node[type+listener]); node[type+listener] = null; return true; } return false;};node.detachEvent('on'+type,node[type+listener]);这一步骤不懂,detachEvent方法的第二个参数不是传递一个函数进去的吗???如果是传递node[type+listener],detachEvent方法就不能识别???而且这个条件句if(!(node = $(node))){return false;}怎么会出现一个$符号。这个语句有何作用?? 急!!!一个checkbox 控制控制多个可选的问题?? 为什么得不到attributes["style"]? 函数 清除缓存 测试样例8 如何增加HTML元素 求救!!!!!!!!控制文本框显示消失的问题,谢谢!!!! 点击展开的效果是怎么做的?? AngularJS 问题 QQ互联问题-----------------------有报酬! 求助!!!js将base64图片保存到本地 js如何刷新其他页面 弱弱的问一句,有多少人跟我一样是用原生JS在写代码?
if(!(node = $(node))){return false;}
if(node.removeEventListener)
{
//W3C方法
node.removeEventListener(type,listener,false);
return false;
}
else if(node.detachEvent)
{
//MISE方法
node.detachEvent('on'+type,node[type+listener]);
node[type+listener] = null;
return true;
}
return false;
};对应着写,有一点要注意,匿名函数,是没有办法解除绑定的,就像你代码中,IE下会绑定那个匿名函数,任何方法都不可能删除这个监听函数的。