单击后禁用链接 - 没有jquery

时间:2013-12-29 19:21:20

标签: javascript html css

我想在点击时禁用我的链接。 checkletter是一个函数,用于检查我的刽子手游戏中的字母是否可用。

     <span id="A"><a href="javascript:checkLetter('A');">A</a></span>

我试过用这个          a.visited {          显示:无;           }

它似乎无法正常工作

请建议!!

3 个答案:

答案 0 :(得分:3)

document.querySelector('#A a').style.pointerEvents = 'none';

** http://caniuse.com/#search=pointer-events

答案 1 :(得分:1)

您可以使用checkLetter功能吗?

function checkLetter(letter) {
  // Do stuff
  document.getElementById(letter).style.display = "none";
}

<强>更新

要停用链接而不是隐藏它(按照评论中的要求),请参阅以下链接:http://jsfiddle.net/J67eY/1/

答案 2 :(得分:1)

编辑:

Very Fun Fiddle

长话短说:假设link已分配到您的链接:

link.href = null;

将完全禁用该链接。

我很兴奋,发布得太快了。这就是你想要的:)

var links = document.links || document.anchors || document.getElementsByTagName('a');
for (var i = 0, j = links.length; i < j; i++) {
    addEvent(links[i], 'click', disable);
}

function disable(evt) {
    var e = evt || window.event,
        link = (e.currentTarget) ? e.currentTarget : e.srcElement;
    checkLetter(link.innerHTML);
    link.href = null;
    return false;
}

function addEvent(element, myEvent, fnc) {
    return ((element.attachEvent) ? element.attachEvent('on' + myEvent, fnc) : element.addEventListener(myEvent, fnc, false));
}

此代码还假设您已从链接的javascript:checkLetter('A')中删除了href=""。相反,我使用字母(link.innerHTML

在函数内部调用它