In jQuery how could you go about disabling a button and have it re-enable after a few seconds?

I've tried using a .delay(###).attr and .removeattr, but I can't get it to work. From what I've read this is due to .delay made for animations and instead I need to use fadeout?

You can use window.setTimeout(func, delay, [param1, param2, ...]);. Here's a button that will be disabled for a second when clicked, although anything could be used to invoke this action:

HTML

<!-- language: lang-html -->
<button class='tempDisable'>Click Me</button>

JavaScript (wrapped in ready function)

<!-- language: lang-js -->
$(".tempDisable").click(function () {
    $(this).prop("disabled", true);
    setTimeout(function (el) {
        $(el).prop("disabled", false);
    }, 1000, this);
});

See jsFiddle