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);
所以我有一个附加了这个事件的按钮:
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);