1

我想在使用一次右键单击在新选项卡中打开超链接后禁用它。这样我就调用了 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>

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

4

1 回答 1

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>

​</p>

JavaScript

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

为了解决禁用问题,设置display:block不会禁用链接。您可能希望添加一个onclick函数来使用单击事件,如使用 javascript 禁用链接和/或修改<a>样式以指示它已禁用,例如将颜色设置为灰色。

于 2012-05-16T07:56:35.687 回答