Javascript `这本书装订不好
这里我想要的是Javascript `这本书装订不好,javascript,Javascript,这里我想要的是removeWidget(this)中的“this”参数绑定到HTMLElement“this”not my class“this” 类别: deleteSong.onclick = (this)=>{ this.removeWidget(this) } 为了更清楚,我正在努力实现以下目标 单击我。 “this”将返回HtmleElement对象的地方,您的主要问题是将this放在函数参数中,因此重新定义this。只要把它改成别的东西,这样当你真正指的是这个,它就是这个 o
removeWidget(this)
中的“this”参数绑定到HTMLElement“this”not my class“this”
类别:
deleteSong.onclick = (this)=>{ this.removeWidget(this) }
为了更清楚,我正在努力实现以下目标
单击我
。
“this”将返回HtmleElement对象的地方,您的主要问题是将
this
放在函数参数中,因此重新定义this
。只要把它改成别的东西,这样当你真正指的是这个
,它就是这个
onclick
事件将在回调中向您传递事件。要访问实际元素,您需要使用event.target
例如:
类集合{
createElements(){
让deleteSong=document.createElement('button');
deleteSong.className+=“删除歌曲”;
setAttribute('type','button');
deleteSong.onclick=(e)=>{/你的主要问题是你把这个
放在你的函数参数里面,因此重新定义了这个
。把它改成其他的东西,这样当你真正指的是这个
,它就是这个
onclick
事件将在回调中向您传递event
。要访问实际元素,您需要使用event.target
例如:
类集合{
createElements(){
让deleteSong=document.createElement('button');
deleteSong.className+=“删除歌曲”;
setAttribute('type','button');
deleteSong.onclick=(e)=>{/只需将事件作为参数传递,而不是此关键字。类似的操作将生成所需的元素
HTML:
class Collection{
createElements(){
let deleteSong = document.createElement('button');
deleteSong.className += 'delete-song';
deleteSong.setAttribute('type', 'button');
deleteSong.onclick = (this)=>{ this.removeWidget(this) }
deleteSong.innerHTML = '✕';
}
}
只需将事件作为参数传递,而不是此关键字。类似的操作将生成所需的元素
HTML:
class Collection{
createElements(){
let deleteSong = document.createElement('button');
deleteSong.className += 'delete-song';
deleteSong.setAttribute('type', 'button');
deleteSong.onclick = (this)=>{ this.removeWidget(this) }
deleteSong.innerHTML = '✕';
}
}
请也给我们html。您的问题中的所有这个都很混乱!我没有看到类。这个在您的函数参数中可能是事件对象,请尝试deleteSong.onclick=(event)=>{this.removeWidget(event.target)}
。但这只是一个猜测。我们需要更多的上下文,正如前面所述:)请也给我们html。你问题中的所有这个s都很混乱!我没有看到一个类。这个在你的函数参数中可能是事件对象,请尝试deleteSong.onclick=(event)=>{this.removeWidget(event.target)}
。但这只是猜测。我们需要更多的上下文,正如前面所述:)
deleteSong.onclick = (event)=>{ this.removeWidget(event.target) }