JavaScript onclick 事件不适用于参数

JavaScript onclick event doesnt work with parameters

所以我有一个附加了这个事件的按钮:

apagar.onclick = cl.teste(this);

cl 是另一个 class 的实例,我认为这对这种情况无关紧要。 测试方法在这里:

Clinica.prototype.teste = function ()
{
    alert(this.doentes.length);
}

即使我在函数上有一些参数,并且我在 onclick 事件上设置了它们,按钮也什么都不做。但是,当我这样设置时: apagar.onclick = cl.teste;有用。 我需要争论,因为我需要 'this' 语句才能为对象而不是事件正常工作。

而不是写作:

apagar.onclick = cl.teste(this);

你可以写:

apagar.onclick = function () {
    cl.teste(apagar);
};

onclick 事件可以附加到函数而不是函数调用。这里cl.teste是一个函数,而cl.tests(this)是一个函数调用。使用我的解决方法,它应该可以工作。

您可以在这种情况下使用bind

apagar.onclick = cl.teste.bind(cl);