javascript - 从链接中删除 "clickability"( anchor 标记)

标签 javascript dom-events

我有几个链接,在发送响应之前需要几秒钟的时间来处理,所以我想实现一个指示器图标。这是我的出发点:

<a href="/foo"><img src="icon.png" /></a>

这是一个遗留应用程序,代码已经一团糟,所以我不介意并使用内联事件处理程序:

<a href="/foo"><img src="icon.png" onclick="indicate(this)" /></a>

此外,没有绑定(bind) JS 框架。我可以使用一些其他机制来应用事件处理程序,但这不会改变我正在尝试解决的问题。

由于后端处理消耗大量资源,我希望阻止用户多次点击。我尝试在第一次单击时删除 href 属性。看来,通过使用超时,href 在发送请求后会被正确删除,但 Firefox 和 IE9 都允许我再次单击该链接。

这是indicate()函数:

function indicate(e) {
    if (indicator.ref.nodeName) indicateStop();
    
    // save state
    indicator.ref = e;
    indicator.orig.href = indicator.ref.parentNode.href;
    indicator.orig.src = indicator.ref.src;
    
    // replace icon
    indicator.ref.src = indicator.src;
    
    // remove href
    setTimeout(function(){ indicator.ref.parentNode.removeAttribute("href"); }, 20);
}

所以问题是,如何通过点击链接( anchor )来删除“可点击性”?

最佳答案

使用此代码,您可以阻止 anchor 打开链接:

$('a').on('click', function(e){
  e.preventDefault();
});

关于javascript - 从链接中删除 "clickability"( anchor 标记),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14880775/

相关文章:

javascript - Google如何在iframe中创建移动友好的固定背景和视差内容?

javascript - 如何在 Ionic 中获取事件选项卡

javascript - 如何限制浏览器窗口中的 Ctrl N 组合?

dom - 单击事件不适用于 SVG 中路径的标记结束

javascript - 将 .onKeyUp 和 .onChange 与 Javascript DOM 对象一起使用

JavaScript 的 get-it-done 特性

javascript - 为什么可排序事件目标为空

javascript - 在另一个函数中调用一个函数为 "hidden"

javascript - 单击处理程序在同一元素上被调用两次

javascript - MongoClient和Express,连接成功...但是: TypeError: Cannot read property 'collection' of null