论坛首页 Web前端技术论坛

removeEventListener使用

浏览 3629 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-12-30  
最近工作中在页面需要用到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成功。
   发表时间:2011-12-30  
因为一个事件可以绑定N个回调
1 请登录后投票
   发表时间:2011-12-30  
大哥。。函数指针。。。
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics