javascript 禁用href函数不适用于onmouseup事件

70gysomp  于 2023-01-29  发布在  Java
关注(0)|答案(1)|浏览(100)

我想禁用超链接后,它是在新的标签打开使用一个右键单击,所以我调用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>

谁能想到这一点?

c9qzyr3d

c9qzyr3d1#

我不太确定你想通过在<a>上设置display:block来完成什么,但是你应该在浏览器中看到的错误是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";
}​

要解决 * disable * 问题,设置display:block将不会禁用链接。您可能需要考虑添加一个onclick函数来使用单击事件(如Disable link using javascript中所示)和/或修改<a>样式以指示它已被禁用,例如将颜色设置为灰色。

相关问题