为了防止不耐烦的用户过于频繁地单击指向Webstart应用程序的链接,我试图在第一次调用该 super 链接后将其禁用几秒钟。

<a href="file.jnlp" onclick="if (!this.clicked){this.clicked = true; setTimeout('this.clicked = false' ,10000); return true;} return false">

上面的代码仅适用于禁用链接,但在10秒钟的超时后不会重新启用。

我已经看到,在setTimeout调用中检查'this.clicked'变量时,它不是真实的(应该是这样)。也许我在这里缺少一些基本的JS知识。

也许有其他方法可以解决此问题?

最佳答案

给该 anchor 定一个ID,然后将超时 call 更改为:

setTimeout('document.getElementById("<id>").clicked = false;' , 10000);

我认为计时器到来时,“this”不会被评估为任何值。

关于javascript - 单击后如何禁用链接一段时间?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/806914/

10-09 16:45