Javascript 如何在函数内部的onclick函数中访问此项?

Javascript 如何在函数内部的onclick函数中访问此项?,javascript,Javascript,下面的代码不起作用。请有人帮我解决这个问题 单元名称未被通知 function unit(name,svgCircle) { this.name = name; this.cir = svgCircle; this.cir.onclick = clicking; } function clicking(){ alert(this.name); } 这应该行得通,您使用的是angular还是其他javascript 功能单元(名称,svgCircle) { th

下面的代码不起作用。请有人帮我解决这个问题 单元名称未被通知

function unit(name,svgCircle)
{
    this.name = name;
    this.cir = svgCircle;
    this.cir.onclick = clicking;
}
function clicking(){
    alert(this.name);
}

这应该行得通,您使用的是angular还是其他javascript

功能单元(名称,svgCircle)
{
this.name=名称;
this.cir=svgCircle;
this.cir.onclick=单击.bind(this);
}
函数单击(){
警报(此名称);
}
单位(“ml”、“testSvg”);

点击()实际上,onclick函数绑定在this.cir对象上。因此,clicking()函数中的“this”对象将引用this.cir对象。如果您想访问clicking()函数中的name属性,那么可以添加一行代码,如下所示

function unit(name,svgCircle)
{
    this.name = name;
    this.cir = svgCircle;
    this.cir.name = name;
    this.cir.onclick = clicking;
}
function clicking(){
    alert(this.name);
}

this.cir.onclick=clicking.bind(this)
否则调用上下文将是
this.cir
在调用
click
函数之前,您是否使用合适的参数调用
单元
函数?因为你应该。我用的是简单的javascript@MaheerAli,这将起作用,您也可以签入控制台。@MaheerAli,您可以使用“运行代码段”进行测试。@MaheerAli,如果您认为您的问题已经解决,您可以将此解决方案标记为正确的解决方案。谢谢:D