所以我有一个附有此事件的按钮:
apagar.onclick = cl.teste(this);
cl是另一个类的实例,我认为这与此案件无关。 teste方法在这里:
Clinica.prototype.teste = function ()
{
alert(this.doentes.length);
}
即使我在函数上有一些参数,并且我在onclick事件上设置了它们,按钮也什么都不做。但是,当我这样设置时:apagar.onclick = cl.teste;有用。 我需要争论,因为我需要'this'语句才能正确地处理对象而不是事件。
答案 0 :(得分:4)
在这种情况下,您可以使用bind
:
apagar.onclick = cl.teste.bind(cl);
答案 1 :(得分:3)
而不是写作:
apagar.onclick = cl.teste(this);
你可以写:
apagar.onclick = function () {
cl.teste(apagar);
};
onclick
事件可以附加到函数而不是函数调用。这里cl.teste
是一个函数,而cl.tests(this)
是一个函数调用。通过我的解决方法,它应该可以工作。