谷歌火狐浏览器同时可用的a标签点击事件触发方案

最近在写一个需求,点击下载按钮触发下载事件,并自动下载事先准备好的wav文件。
于是我大笔一挥,写出了下面的代码:

let downloadDOM = document.createElement('a')
downloadDOM.download = 'test.wav'
downloadDOM.href = './a.wav'
downloadDOM.click()

惊喜的是,谷歌浏览器一次OK,实现了下载。
无语的是,火狐浏览器点击执行没有反应。

在翻阅资料后,把代码修改如下:

let downloadDOM = document.createElement('a')
downloadDOM.download = 'test.wav';
downloadDOM.href = './a.wav'
var evt = document.createEvent("MouseEvents");
evt.initEvent("click",true,true);
downloadDOM.dispatchEvent(evt);

完美兼容了火狐浏览器和谷歌浏览器。

你可能感兴趣的:(谷歌火狐浏览器同时可用的a标签点击事件触发方案)