点击后时间颜色变化

Timing color changing after click

我实现了这个但它不起作用,我希望文本颜色在点击时改变并在一段时间后改变回来。它在没有计时器的情况下工作,并且没有做任何事情,控制台上也没有错误。

JS:

function toggle_color(ele) {

    $(ele).parent().css({
        "color": "red"
    });

    setTimeout(function() {
        $(ele).parent().css({
            "color": "#000000"
        }, 2000);
    })
}

HTML:

<p>
   <button onclick="toggle_color(this);">
      text inside button
   </button>
   text to toggle color
</p>

计时器代码中存在语法错误,您将持续时间应用于 .css 调用,而不是 timeout

setTimeout(function() {
    $(ele).parent().css({
        "color": "#000000"
    }); //duration WAS here, should be below
}, 2000)
  //^^ duration here