javascript - js创建两个对象,removeChild报错但是还是删掉了?

查看:136
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆