JavaScript-创建多个obj时类内事件“this”出现问题

JavaScript-创建多个obj时类内事件“this”出现问题,javascript,html,css,class,events,Javascript,Html,Css,Class,Events,我是新来的,我正在创建一个新的程序,但我真的陷入了这个问题 我创建了一个类,动态创建DOM元素并将事件设置为。问题是,该参考文献的作用不太好 当我只创建一个对象时,效果很好,但是如果我创建更多的对象,所有对象总是从最后一个对象获取引用 两个对象都应该通过单击来显示自己的名称 有人能帮我理解吗 obj=函数名,框{ this.name=名称; this.inside=box; } obj.prototype={ 开始:函数{ document.getElementByIdthis.inside.

我是新来的,我正在创建一个新的程序,但我真的陷入了这个问题

我创建了一个类,动态创建DOM元素并将事件设置为。问题是,该参考文献的作用不太好

当我只创建一个对象时,效果很好,但是如果我创建更多的对象,所有对象总是从最后一个对象获取引用

两个对象都应该通过单击来显示自己的名称

有人能帮我理解吗

obj=函数名,框{ this.name=名称; this.inside=box; } obj.prototype={ 开始:函数{ document.getElementByIdthis.inside.innerHTML=单击我+这个.name+; }, addClickevent:函数{ 那=这个; document.getElementByIdthis.name+\u div.addEventListenerclick,函数E{ 注意:名称; }; } } x1=新的obj'a','div1'; x1.启动; x1.addClickevent; x2=新的obj'b','div2'; x2.启动; x2.addClickevent;
你确定你需要那个全局变量吗?看起来您错过了addClickevent的var/let第一行。只需将that=this替换为let that=this

这不是javascript中的关键字,您必须声明使用let或var才能使其正常工作

obj=函数名,框{ this.name=名称; this.inside=box; } obj.prototype={ 开始:功能{ document.getElementByIdthis.inside.innerHTML=单击我+这个.name+; }, addClickevent:函数{ 让那=这; document.getElementByIdthis.name+\u div.addEventListenerclick,函数E{ 注意:名称; }; } } x1=新的obj'a',div1'; x1.启动; x1.addClickevent; x2=新的obj'b',第2部分'; x2.启动; x2.addClickevent;