Solution that requires NO BUTTON:
var download = function(){
var link = document.createElement('a');
link.download = 'filename.png';
link.href = document.getElementById('canvas').toDataURL()
link.click();
}
Useful if you have other triggers for downloading, or triggers that you can’t easily reference.