我想动态生成<a>
标记的href
,然后单击事件下载生成文件。
这是我的密码。
var bool = false;
$('#lnkDownloadPDF').click(function () {
if (bool == false) {
MakeAjaxRequest('POST', HomePageURL + 'DownloadPDFPath', '{"designID": "' + sessionStorage.getItem("designID") + '" }').done(function (result) {
bool = true;
$('#lnkDownloadPDF').attr('href', result.d);
$('#lnkDownloadPDF').attr('download', 'sample.pdf');
$('#lnkDownloadPDF').click();
});
}
});
<a id="lnkDownloadPDF" class="greenDownloadBtn" href="#">Download</a>
上面的代码有效,但我必须点击链接按钮两次才能下载指定的文件。
有没有更好的方法来实现同样的目标?
您应该调用原生DOM API点击方法:
$('#lnkDownloadPDF')[0].click();
Jquery解释性地在锚的点击触发器时禁用它。