为了账号安全,请及时绑定邮箱和手机立即绑定

removeEventListener 报错

index.html:112 Uncaught TypeError: Failed to execute 'removeEventListener' on 'EventTarget': 2 arguments required, but only 1 present. 报错可,跟着老师写的removeEventListener,哪位能帮忙看一下是哪里错了啊

正在回答

4 回答

你说的false是addEventListener里的参数,是在冒泡阶段处理这个事件。

你这个报错,报的缺参数是removeEventListener,你改的代码是又给addEventListener加了个参数。。

您看清楚了。

把括号怎么括的看清楚了。

完整写下来是这样:

loadImg(cid,function(){

$("#largeImg")[0].addEventListener("webkitAnimationEnd",function(){

$("#largeImg").removeClass("animated bounceInLeft");

$("#largeImg")[0].removeEventListener("webkitAnimationEnd",arguments.callee);

},false);

$("#largeImg").addClass("animated bounceInLeft");

});


0 回复 有任何疑惑可以回复我~
#1

微蓝lran 提问者

按照你的改了,好了呢,谢谢,确实没分清括号内容,非常感谢
2016-12-23 回复 有任何疑惑可以回复我~

老师这里在监听动画加载完毕没有必要用addEventListener,而且removeEventListener报错,是因为removeEventListener需要传入和addEventListener相同的参数才可以,我是直接用

 wIamge.off("webkitAnimationEnd").on("webkitAnimationEnd",function(){

     wIamge.removeClass("animated fadeInRight");

     });

0 回复 有任何疑惑可以回复我~

根据老师的我就是这样写的 啊

$("#largeImg").get(0).removeEventListener('webkitAnimationEnd');

},false);

$("#largeImg").get(0).removeEventListener('webkitAnimationEnd');

},false,arguments.callee);这样也出错啊

index.html:112 Uncaught TypeError: Failed to execute 'removeEventListener' on 'EventTarget': 2 arguments required, but only 1 present.


0 回复 有任何疑惑可以回复我~

removeEventListener方法有三个参数

element.removeEventListener(event, function, useCapture)

event: 要移除的事件名称,必须

function:移除的函数,必须

useCapture:移除的阶段,可选


所以你传一个参数进去,会给你报这个错,说你少一个参数。你可以传个undefined进去,传arguments.callee应该也行,我是这么弄的


0 回复 有任何疑惑可以回复我~
#1

微蓝lran 提问者

据说false是为了防止冒泡事件?能将你这段代码看看嘛,谢谢了
2016-12-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
移动端的WEB相册
  • 参与学习       47987    人
  • 解答问题       217    个

本课程通过一个移动端相册案例,带您一步步了解移动端框架

进入课程

removeEventListener 报错

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信