0

我有一个下载链接,用户下载后我想删除下载链接并更改文本。我能够做到这一点,但它做得如此之快,以至于用户无法下载 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,但这主要是针对普通用户的。

4

3 回答 3

1

像这样的东西?

$('#downloadLink').click(function() {
  $(this).replaceWith('<span>Thanks for downloading...</span>');
});

如果您仍然遇到无法正常工作的问题,window.location = 'download.exe';请在点击功能的顶部放置一个。

于 2012-04-05T17:57:56.497 回答
0

所以 - 知道它不是一种安全的方法 - 有什么问题:

$('a').on('click', function() {
    $(this).text('Thank You For Downloading This Software!').removeAttr('href');
});​

将选择器更改为适用的内容,而不是$('a')

于 2012-04-05T17:58:05.367 回答
-2

您可能不想要函数 removeLink() 因为您没有调用它。而是使用

$(document).ready(){

});

还有你的超时问题......

使用 jQuery 的delay()

另一件事是您正在调用#downloadLink...不要忘记将ID添加到标签中。

编辑:正如其他人所说,您可能只想在 jQuery 中完成整个功能。

于 2012-04-05T17:58:45.490 回答