当前位置: 代码迷 >> Web前端 >> removeEventListener施用
  详细解决方案

removeEventListener施用

热度:132   发布时间:2012-09-08 10:48:07.0
removeEventListener使用
最近工作中在页面需要用到addEventListener
document.addEventListener('touchmove', function(e) { e.preventDefault(); }, false);


但是有另外一个需求是需要将以上的'touchmove'恢复为默认的。开始我直接使用removeEventListener,但是不起作用。后来发现如果要让removeEventListener成功的话需要把里面function单独封装成一个方法。
function preventDefault(e) { e.preventDefault(); };

document.addEventListener('touchmove', preventDefault, false);
document.removeEventListener('touchmove', preventDefault, false);

把操作封装成一个单独的方法,调用时引用同一个方法,listener才能准确找到。如果直接写在参数里,会认为是两个function(e)是不同的操作,所以不能remove成功。