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>が、ブラウザに表示されるはずのエラーは、あなたdocument.getが間違っているため JavaScript のものです。

要素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してもリンクは無効になりません。「 javascript を使用してリンクを無効onclickにする」に示されているように、クリック イベントを消費する関数を追加したり、色をグレーに設定するなど、無効であることを示すようにスタイルを変更したりすることを検討することをお勧めします。<a>

于 2012-05-16T07:56:35.687 に答える