I have the similar issue. You can use setTimeout() to avoid the double-click.
//some codes here above after the click then disable it
// also check here if there's an attribute disabled
// if there's an attribute disabled in the btn tag then // return. Convert that into js.
$('#btn1').prop("disabled", true);
setTimeout(function(){
$('#btn1').prop("disabled", false);
}, 300);