我有一个下载链接,在用户下载后我想删除下载链接并更改文本。我能够做到这一点,但它做得如此之快,以至于用户无法下载exe文件。如果我以某种方式延迟它会是一个解决方案吗?有没有更好的方法来做我正在做的事情?
这是我的JS
function removeLink(){
try{
$('#downloadLink').text("Thank You For Downloading This Software!");
$('#downloadLink').attr('href', 'javascript:void(0)');
}
catch(err){
alert(err.message);
}
}
链路
<a href="download.exe" title="Download" id="download" onclick="removeLink()">Download</a>
此外,我知道这不是一种非常“安全”的方式,因为我只是使用javascript,但这主要是针对普通用户。
答案 0 :(得分:1)
这样的东西?
$('#downloadLink').click(function() {
$(this).replaceWith('<span>Thanks for downloading...</span>');
});
如果您仍然无法解决问题,请在点击功能的顶部添加window.location = 'download.exe';
。
答案 1 :(得分:0)
所以 - 知道它不是一种安全的方法 - 出了什么问题:
$('a').on('click', function() {
$(this).text('Thank You For Downloading This Software!').removeAttr('href');
});
将选择器更改为适用的选项,而不是$('a')
答案 2 :(得分:-2)
你可能不需要函数removeLink(),因为你没有调用它。而是使用
$(document).ready(){
});
还有你的超时问题......
使用jQuery的delay()
另一件事是您正在调用#downloadLink ...不要忘记将ID添加到标记中。
编辑: 正如其他人所说,你可能只想在jQuery中完成整个函数。