14

現在、ファイルブラウザを作成しています。ユーザーがファイルへのリンクをクリックすると、小さなウィンドウが開き、オプション (ダウンロードや表示など) を尋ねられます。onclick 属性を使用してこれを行いました。リンクをクリックするとjavascriptが実行されるのですが、この後hrefで指定したURLが開きます。私がやろうとしていることは次のとおりです。リンクをクリックすると、javascriptが実行され、最終的に転送されます。ただし、リンクが右クリックされた場合、「リンクの場所をコピー」は引き続き利用できるはずです。転送スクリプト側をブロックすることでこれを解決しようと考えています。したがって、リンクが右クリックされた場合、JavaScript は実行されず、リンクの場所をコピーできます。ただし、リンクを左クリックすると、JavaScript が実行され、リンクは開かれません。それはjavascriptで可能ですか、またはこの動作を達成する他の方法はありますか?

4

4 に答える 4

18

リンクが実行されないようにする方法の 1 つは、「onclick」メソッドが を返すようにすることfalseです。

例えば:

<a href="http://..." onclick="return clickfunc()">...</a>

clickfunc()が返された場合false、リンクをクリックしても「http://...」に移動しません。

あなたはおそらくそれをもっと好きに扱っていますが

<a href="http://..." id="somebutton">...</a>
<script>
document.getElementById('somebutton').onclick = function() { 
      ... 
      else { return false; }
};
</script>
于 2012-04-18T22:36:53.577 に答える
10

クリック機能のデフォルトを防止する必要があります。

function stopDefAction(evt) {  
  evt.preventDefault();  
} 
于 2012-04-18T22:37:27.610 に答える
1

はい、イベントのデフォルト アクションを防止する必要があります。falseこれを行うには、onclick 属性を返します。

于 2012-04-18T22:36:19.513 に答える