gpt4 book ai didi

javascript - 如何在 onclick 事件期间更改 href

转载 作者:行者123 更新时间:2023-11-28 01:34:30 26 4
gpt4 key购买 nike

我正在尝试创建一个动态超链接,用于下载从服务器检索到的图像。

我使用的代码:

HTML:

<a class="btn" id="controlDownloadJPEG" download>Save & Download</a>

JS:

this.downloadJPEGClickHandler = function() {
CollageCore.downloadJPEG(function(data){
$("#controlDownloadJPEG").attr("href", "../file/fileStore.action?fileName=/" + data[0].AttachmentUrl);
});;
return true;
};

点击时 href 会发生变化,但链接本身会链接到我的 JavaScript 执行之前设置的 href。第一次点击没有任何作用,因为没有默认的 href,第二次点击将下载第一次点击应该下载的内容。

我看到了使用 JavaScript window.href 而不是依赖 html 标签本身的建议。我需要使用 html 标签的原因是它的下载功能。

最佳答案

您将异步调用视为同步调用。这就像订购外卖比萨饼并期望它在您下订单后立即出现。这不会发生,除非你站在餐厅里并且它已经做好了。

您需要取消点击并在调用返回时手动触发页面更改。所以您想使用 window.location.href = "new path"; 而不是设置 href。

this.downloadJPEGClickHandler = function() {
CollageCore.downloadJPEG(function(data){
window.location.href = "../file/fileStore.action?fileName=/" + data[0].AttachmentUrl;
});
return false; //or preventDefault if you pass in event object
};

关于javascript - 如何在 onclick 事件期间更改 href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28991127/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com