动态地将href附加到锚点标记,然后调用click事件



我想动态生成<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解释性地在锚的点击触发器时禁用它。

相关内容

最新更新