In Firefox, you can explicitly add the created element to the DOM and it will work:
$('body').on('click', '#test', function(event) {
var link = document.createElement('a');
// Add the element to the DOM
link.setAttribute("type", "hidden"); // make it hidden if needed
link.download = 'test.xls';
link.href="https://stackoverflow.com/questions/32225904/data:application/vnd.ms-excel;utf-8,test";
document.body.appendChild(link);
link.click();
link.remove();
});
Fiddle