Javascript设置onclick时超时

Javascript设置onclick时超时,javascript,Javascript,我试图在单击html元素时调用javascript函数,如下所示。 但不确定为什么下面的超时函数在这里不起作用。知道吗 onclick="setTimeout(rating(), 3000)" 包含括号时,将使用函数返回值而不是函数本身。删除括号,更改: onclick="setTimeout(rating(), 3000)" 到 或者更好的方法是: onclick = setTimeout(function() { rating(); }, 3000); 如果您搜索(并写下)实际

我试图在单击html元素时调用javascript函数,如下所示。 但不确定为什么下面的超时函数在这里不起作用。知道吗

onclick="setTimeout(rating(), 3000)"

包含括号时,将使用函数返回值而不是函数本身。

删除括号,更改:

onclick="setTimeout(rating(), 3000)"

或者更好的方法是:

onclick = setTimeout(function() {
    rating();
}, 3000);

如果您搜索(并写下)实际问题,则更容易找到重复的问题-“不工作”不是有效的诊断,这个密码伤了我的眼睛。这已经是2014年了,不要使用
onclick
,看看
setTimeout
@Derek的错误用法。我对javascript是新手。如果有更好的方法,请看这些文章,了解绑定事件处理程序的不同方法:。非常感谢。现在“更好的方法”正在起作用不正确-它将首先生成计时器,然后将一个(无效)数值传递给onclick属性。
onclick="setTimeout(rating, 3000)"
onclick = setTimeout(function() {
    rating();
}, 3000);