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

时间:2015-12-21 15:58:07

标签: javascript jquery

我想动态生成href <a>代码,然后点击事件下载生成文件。

这是我的代码。

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>

上面的代码可以工作,但我必须点击链接按钮两次才能下载指定的文件。

有没有更好的方法来实现同样的目标?

1 个答案:

答案 0 :(得分:1)

您应该调用原生DOM API点击方法:

$('#lnkDownloadPDF')[0].click();

Jquery在锚点击触发器上明确禁用它。