禁用href功能不能与onmouseup事件一起使用

时间:2012-05-16 07:20:42

标签: javascript javascript-events

我想在新标签页中右键单击后打开超链接。所以我调用onmouseup事件并检查右键单击并调用禁用功能。但禁用功能在这里不起作用。我不想隐藏链接,我只想禁用链接。

这是HTML

<html>
<body>
<a id="1" href="link1.html" onmouseup="if(event.button==2){disable(this.id)}">link_1</a>
<a id="2" href="link2.html" onmouseup="if(event.button==2){disable(this.id)}">link_2</a>
</body>
</html>

和JavaScript,

<script>
function disable(get)
{
 document.get.style.display="block";
}
</script>

任何人都可以对此有所了解吗?

1 个答案:

答案 0 :(得分:1)

我不确定您要在display:block上设置<a>来完成什么,但是您应该在浏览器中看到的错误是JavaScript,因为您document.get是不正确。

由于您将元素ID传递给disable()函数,您可以使用

document.getElementById(get).style.display = 'block';

设置显示属性。

或者只是传递this而不是:

HTML

<a id="1" href="link1.html" onmouseup="if(event.button==2){disable(this)}">link_1</a>
<a id="2" href="link2.html" onmouseup="if(event.button==2){disable(this)}">link_2</a>

的JavaScript

function disable(theLink) {
    theLink.style.display="block";
}​

要解决禁用问题,设置display:block不会禁用该链接。您可能希望添加一个onclick函数来消耗点击事件,如Disable link using javascript所示和/或修改<a>样式以指示它已被禁用,例如设置颜色灰色。