JavaScript onclick事件不适用于参数

时间:2015-01-03 15:24:51

标签: javascript

所以我有一个附有此事件的按钮:

apagar.onclick = cl.teste(this);

cl是另一个类的实例,我认为这与此案件无关。 teste方法在这里:

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

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

2 个答案:

答案 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)是一个函数调用。通过我的解决方法,它应该可以工作。