I have a script where I disable a button after it was clicked, for like 5 seconds, and then enable it again.

```
$(document).on('click', 'button', function () {
    var htmls = $(this).html();
    $(this).prop("disabled", true);
    setTimeout(function () {
        $(this).prop("disabled", false);
        $(this).html(htmls);
    }, 5000);
    $(this).html('<img src="<?=CDN(' / icons / loading / loading5.gif ')?>" />');
});

```

Somehow the `setTimeout` won't end, so the button won't be enabled again. I don't get any error messages.