javascript - js创建两个对象,removeChild报错但是还是删掉了?
本文介绍了javascript - js创建两个对象,removeChild报错但是还是删掉了?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
var Box=function(){}
Box.prototype={
close:function(){
removeChild.....
}
}
var a=new Box();
var b=new Box();
效果是都可以删掉,但是只有最后一个不报错,前面都会报错,不知道为啥
js.js:30 Uncaught TypeError: Cannot read property 'removeChild' of null
解决方案
会不会是多次触发事件的原因?
var a=new Box();
调用了一次addListener
var b=new Box();
又调用了一次
这样是不是就会调用两次事件处理?
第一次remove成功,第二次就失败了
如果是的话,也就验证了为什么最后一个没有报错,因为每次new Box()都会将已经存在的closeBtn添加一个Lsitener,前面的都有多个Listener,最后一个只有一个Listener
只是猜测
这篇关于javascript - js创建两个对象,removeChild报错但是还是删掉了?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文