javascript - 在 JavaScript 中禁用超链接的问题
问题描述
我有一个链接,一旦我单击它就需要禁用它,直到页面再次重新加载。主要目的是限制用户多次点击链接。
下面是我的链接:
<a href="/User/faces/profile.xhtml?id=20521&itemNo=-1" onclick="this.disabled=true;document.body.style.cursor='wait';" style="padding: 10px 5px;">Profile</a>
这适用于 ie11,但不适用于 chrome 或 iPad。
有什么我想念的吗?任何帮助或提示表示赞赏。
解决方案
您不能使用disabled
. 当然有一些方法可以实现它。其中之一是设置pointer-events: none
每个 css (但你会失去wait
它的 -cursor 样式)。还有其他一些方法,例如删除href
或更改属性,但这也可能会产生副作用,具体取决于您的环境。
我的建议是仅保持布尔状态并在已单击链接时阻止执行:
const link = document.querySelector('#myLink');
let redirected = false;
link.addEventListener('click', ev => {
if (redirected) {
ev.preventDefault();
} else {
console.log('click');
redirected = true;
link.style.cursor = 'wait';
}
});
<a href="http://www.google.de" target="_blank" id="myLink">My Link</a>
推荐阅读
- javascript - 角 [隐藏] 不起作用
- bash - Linux命令查找n天前的目录
- android-recyclerview - 负偏移导致 RecyclerView 项目消失
- laravel - 如何在 vue js 和 laravel 中使用外部脚本
- javascript - 错误:找不到模块“连接”?
- excel - 将带有渐变填充单元格的 Excel 表格复制到 Outlook 邮件
- c# - 检查以避免在 WPF/C# 中向画布添加多个项目
- wpf - 如何从后面的代码更改资源中的矢量颜色
- c++ - 如何包含 QwebEngineView 而不会出错
- r - How to Rename Column Headers in R